public DictionaryAdapterInstance(IDictionary dictionary, PropertyDescriptor descriptor, IDictionaryAdapterFactory factory) { Dictionary = dictionary; Descriptor = descriptor; Factory = factory; }
private void InitializeMeta(IDictionaryAdapterFactory factory, IDictionaryMetaInitializer[] metaInitializers) { foreach (var metaInitializer in metaInitializers) { metaInitializer.Initialize(factory, this); } }
void IDictionaryMetaInitializer.Initialize( IDictionaryAdapterFactory factory, DictionaryAdapterMeta meta ) { meta.SetXmlMeta(new XmlMetadata(meta, reservedNamespaceUris)); }
public virtual void Initialize(AspViewEngine newViewEngine, TextWriter output, IEngineContext newContext, IController newController, IControllerContext newControllerContext, IDictionary parentProperties) { if (initialized) { throw new ApplicationException("Sorry, but a view instance cannot be initialized twice"); } initialized = true; viewEngine = newViewEngine; OutputWriter = output; Context = newContext; Controller = newController; controllerContext = newControllerContext; if (parentProperties == null) { Properties = ExtractProperties(); } else { Properties = new ViewPropertiesDictionary(parentProperties); } if (newContext != null && newContext.Services != null && newContext.Services.DictionaryAdapterFactory != null) { dictionaryAdapterFactory = newContext.Services.DictionaryAdapterFactory; } else { dictionaryAdapterFactory = new DictionaryAdapterFactory(); } outputWriters = new Stack <TextWriter>(); viewFilters = new Stack <IViewFilter>(); }
void IDictionaryMetaInitializer.Initialize(IDictionaryAdapterFactory factory, DictionaryAdapterMeta dictionaryMeta) { var type = dictionaryMeta.Type; bool? qualified = null; bool? isNullable = null; string defaultNamespace = null; XmlTypeAttribute xmlType = null; XmlRootAttribute xmlRoot = null; List <Type> xmlIncludes = null; new BehaviorVisitor() .OfType <XmlTypeAttribute>(attrib => xmlType = attrib) .OfType <XmlRootAttribute>(attrib => xmlRoot = attrib) .OfType <XmlDefaultsAttribute>(attrib => { qualified = attrib.Qualified; isNullable = attrib.IsNullable; }) .OfType <XmlNamespaceAttribute>(attrib => { if (attrib.Default) { defaultNamespace = attrib.NamespaceUri; } }) .OfType <XmlIncludeAttribute>(attrib => { xmlIncludes = xmlIncludes ?? new List <Type>(); if (type != attrib.Type && type.IsAssignableFrom(attrib.Type)) { xmlIncludes.Add(attrib.Type); } }) .Apply(dictionaryMeta.Behaviors); if (xmlType == null) { xmlType = new XmlTypeAttribute(); } if (string.IsNullOrEmpty(xmlType.TypeName)) { xmlType.TypeName = type.Name; if (xmlType.TypeName.StartsWith("I")) { xmlType.TypeName = xmlType.TypeName.Substring(1); } } if (xmlType.Namespace == null) { xmlType.Namespace = defaultNamespace; } dictionaryMeta.SetXmlMeta(new XmlMetadata(type, qualified, isNullable, xmlType, xmlRoot, xmlIncludes)); }
void IDictionaryMetaInitializer.Initialize(IDictionaryAdapterFactory factory, DictionaryAdapterMeta dictionaryMeta) { var type = dictionaryMeta.Type; bool? qualified = null; bool? isNullable = null; string defaultNamespace = null; XmlTypeAttribute xmlType = null; XmlRootAttribute xmlRoot = null; List<Type> xmlIncludes = null; new BehaviorVisitor() .OfType<XmlTypeAttribute>(attrib => xmlType = attrib) .OfType<XmlRootAttribute>(attrib => xmlRoot = attrib) .OfType<XmlDefaultsAttribute>(attrib => { qualified = attrib.Qualified; isNullable = attrib.IsNullable; }) .OfType<XmlNamespaceAttribute>(attrib => { if (attrib.Default) { defaultNamespace = attrib.NamespaceUri; } }) .OfType<XmlIncludeAttribute>(attrib => { xmlIncludes = xmlIncludes ?? new List<Type>(); if (type != attrib.Type && type.IsAssignableFrom(attrib.Type)) { xmlIncludes.Add(attrib.Type); } }) .Apply(dictionaryMeta.Behaviors); if (xmlType == null) { xmlType = new XmlTypeAttribute(); } if (string.IsNullOrEmpty(xmlType.TypeName)) { xmlType.TypeName = type.Name; if (xmlType.TypeName.StartsWith("I")) { xmlType.TypeName = xmlType.TypeName.Substring(1); } } if (xmlType.Namespace == null) { xmlType.Namespace = defaultNamespace; } dictionaryMeta.SetXmlMeta(new XmlMetadata(type, qualified, isNullable, xmlType, xmlRoot, xmlIncludes)); }
bool IDictionaryPropertySetter.SetPropertyValue( IDictionaryAdapterFactory factory, IDictionary dictionary, string key, ref object value, PropertyDescriptor property) { if (value != null) { value = GetPropertyAsString(property, value); } return true; }
public DictionaryAdapterInstance(IDictionary dictionary, DictionaryAdapterMeta meta, PropertyDescriptor descriptor, IDictionaryAdapterFactory factory) { Dictionary = dictionary; Descriptor = descriptor; Factory = factory; Properties = meta.Properties; Initializers = meta.Initializers; MergeBehaviorOverrides(meta); }
public DictionaryAdapterInstance(IDictionary dictionary, DictionaryAdapterMeta meta, PropertyDescriptor descriptor, IDictionaryAdapterFactory factory) { Dictionary = dictionary; Descriptor = descriptor; Factory = factory; Properties = meta.Properties; Initializers = meta.Initializers; MergeBehaviorOverrides(meta); }
private void InitializeMeta(IDictionaryAdapterFactory factory, DictionaryDescriptor descriptor) { if (descriptor != null) { MetaInitializers = MetaInitializers.Prioritize(descriptor.MetaInitializers).ToArray(); } foreach (var metaInitializer in MetaInitializers) { metaInitializer.Initialize(factory, this); } }
private void InitializeMeta(IDictionaryAdapterFactory factory, DictionaryDescriptor descriptor) { if (descriptor != null) { MetaInitializers = MetaInitializers.Prioritize(descriptor.MetaInitializers).ToArray(); } foreach (var metaInitializer in MetaInitializers) { metaInitializer.Initialize(factory, this); } }
void IDictionaryMetaInitializer.Initialize(IDictionaryAdapterFactory factory, DictionaryAdapterMeta dictionaryMeta) { var type = dictionaryMeta.Type; string defaultNamespace = null; XmlTypeAttribute xmlType = null; XmlRootAttribute xmlRoot = null; List <Type> xmlIncludes = null; new BehaviorVisitor() .OfType <XmlTypeAttribute>(attrib => { xmlType = attrib; }) .OfType <XmlRootAttribute>(attrib => { xmlRoot = attrib; }) .OfType <XmlNamespaceAttribute>(attrib => { if (attrib.Default) { defaultNamespace = attrib.NamespaceUri; } }) .OfType <XmlIncludeAttribute>(attrib => { xmlIncludes = xmlIncludes ?? new List <Type>(); if (type != attrib.Type && type.IsAssignableFrom(attrib.Type)) { xmlIncludes.Add(attrib.Type); } }) .Apply(dictionaryMeta.Behaviors); if (xmlType == null) { xmlType = new XmlTypeAttribute { TypeName = type.Name, Namespace = defaultNamespace }; if (xmlType.TypeName.StartsWith("I")) { xmlType.TypeName = xmlType.TypeName.Substring(1); } } else if (xmlType.Namespace == null) { xmlType.Namespace = defaultNamespace; } dictionaryMeta.SetXmlMeta(new XmlMetadata(type, xmlType, xmlRoot, xmlIncludes)); }
public DictionaryAdapterMeta(Type type, IDictionaryInitializer[] initializers, IDictionaryMetaInitializer[] metaInitializers, object[] behaviors, IDictionary <String, PropertyDescriptor> properties, DictionaryDescriptor descriptor, IDictionaryAdapterFactory factory) { Type = type; Initializers = initializers; MetaInitializers = metaInitializers; Behaviors = behaviors; Properties = properties; InitializeMeta(factory, descriptor); }
public DictionaryAdapterMeta(Type type, IDictionaryInitializer[] initializers, IDictionaryMetaInitializer[] metaInitializers, object[] behaviors, IDictionary<String, PropertyDescriptor> properties, IDictionaryAdapterFactory factory) { Type = type; Initializers = initializers; MetaInitializers = metaInitializers; Behaviors = behaviors; Properties = properties; InitializeMeta(factory, metaInitializers); }
void IDictionaryMetaInitializer.Initialize(IDictionaryAdapterFactory factory, DictionaryAdapterMeta dictionaryMeta) { var type = dictionaryMeta.Type; string defaultNamespace = null; XmlTypeAttribute xmlType = null; XmlRootAttribute xmlRoot = null; List<Type> xmlIncludes = null; new BehaviorVisitor() .OfType<XmlTypeAttribute>(attrib => { xmlType = attrib; }) .OfType<XmlRootAttribute>(attrib => { xmlRoot = attrib; }) .OfType<XmlNamespaceAttribute>(attrib => { if (attrib.Default) defaultNamespace = attrib.NamespaceUri; }) .OfType<XmlIncludeAttribute>(attrib => { xmlIncludes = xmlIncludes ?? new List<Type>(); if (type != attrib.Type && type.IsAssignableFrom(attrib.Type)) { xmlIncludes.Add(attrib.Type); } }) .Apply(dictionaryMeta.Behaviors); if (xmlType == null) { xmlType = new XmlTypeAttribute { TypeName = type.Name, Namespace = defaultNamespace }; if (xmlType.TypeName.StartsWith("I")) { xmlType.TypeName = xmlType.TypeName.Substring(1); } } else if (xmlType.Namespace == null) xmlType.Namespace = defaultNamespace; dictionaryMeta.SetXmlMeta(new XmlMetadata(type, xmlType, xmlRoot, xmlIncludes)); }
public DictionaryAdapterMeta(Type type, Type implementation, object[] behaviors, IDictionaryMetaInitializer[] metaInitializers, IDictionaryInitializer[] initializers, IDictionary <String, PropertyDescriptor> properties, IDictionaryAdapterFactory factory, Func <DictionaryAdapterInstance, IDictionaryAdapter> creator) { Type = type; Implementation = implementation; Behaviors = behaviors; MetaInitializers = metaInitializers; Initializers = initializers; Properties = properties; Factory = factory; this.creator = creator; InitializeMeta(); }
object IDictionaryPropertyGetter.GetPropertyValue( IDictionaryAdapterFactory factory, IDictionary dictionary, string key, object storedValue, PropertyDescriptor property) { if (storedValue == null) { PropertyDescriptor descriptor = new PropertyDescriptor(property.Property); descriptor.AddKeyBuilder(new DictionaryKeyPrefixAttribute(key)); return factory.GetAdapter( property.Property.PropertyType, dictionary, descriptor); } return storedValue; }
/// <summary> /// Gets the effective dictionary value. /// </summary> /// <param name="factory">The dictionary factory.</param> /// <param name="dictionary">The dictionary.</param> /// <param name="key">The key.</param> /// <param name="storedValue">The stored value.</param> /// <param name="property">The property.</param> /// <returns>The effective property value.</returns> public object GetPropertyValue(IDictionaryAdapterFactory factory, IDictionary dictionary, string key, object storedValue, PropertyDescriptor property) { Type propertyType = property.PropertyType; if (storedValue != null && !propertyType.IsInstanceOfType(storedValue)) { if (converter != null && converter.CanConvertFrom(storedValue.GetType())) { return converter.ConvertFrom(storedValue); } } return storedValue; }
public virtual void Initialize(AspViewEngine newViewEngine, TextWriter output, IRailsEngineContext newContext, Controller newController) { if (initialized) { throw new ApplicationException("Sorry, but a view instance cannot be initialized twice"); } initialized = true; viewEngine = newViewEngine; outputWriter = output; context = newContext; controller = newController; InitProperties(); dictionaryAdapterFactory = new DictionaryAdapterFactory(); outputWriters = new Stack <TextWriter>(); viewFilters = new Stack <IViewFilter>(); }
public DictionaryAdapterInstance(IDictionary dictionary, DictionaryAdapterMeta meta, PropertyDescriptor descriptor, IDictionaryAdapterFactory factory) { Dictionary = dictionary; Descriptor = descriptor; Factory = factory; List <IDictionaryBehavior> behaviors; if (null == descriptor || null == (behaviors = descriptor.BehaviorsInternal)) { Initializers = meta.Initializers; Properties = MergeProperties(meta.Properties); } else { Initializers = MergeInitializers(meta.Initializers, behaviors); Properties = MergeProperties(meta.Properties, behaviors); } }
public DictionaryAdapterInstance(IDictionary dictionary, DictionaryAdapterMeta meta, PropertyDescriptor descriptor, IDictionaryAdapterFactory factory) { Dictionary = dictionary; Descriptor = descriptor; Factory = factory; List<IDictionaryBehavior> behaviors; if (null == descriptor || null == (behaviors = descriptor.BehaviorsInternal)) { Initializers = meta.Initializers; Properties = MergeProperties(meta.Properties); } else { Initializers = MergeInitializers(meta.Initializers, behaviors); Properties = MergeProperties(meta.Properties, behaviors); } }
public static T GetAdapter <T>(this IDictionaryAdapterFactory factory, NameValueCollection nameValueCollection, PropertyDescriptor propertyDescriptor) { var settings = (T)factory.GetAdapter(typeof(T), new NameValueCollectionAdapter(nameValueCollection), propertyDescriptor); return(settings); }
public DefaultLayoutCommonFilter(IDepartmentsRepository departmentsRepository, IDictionaryAdapterFactory dictionaryAdapterFactory) { this.departmentsRepository = departmentsRepository; this.dictionaryAdapterFactory = dictionaryAdapterFactory; }
public virtual void Initialize(AspViewEngine newViewEngine, TextWriter output, IEngineContext newContext, IController newController, IControllerContext newControllerContext) { if (initialized) throw new ApplicationException("Sorry, but a view instance cannot be initialized twice"); initialized = true; viewEngine = newViewEngine; outputWriter = output; context = newContext; controller = newController; controllerContext = newControllerContext; InitProperties(); dictionaryAdapterFactory = new DictionaryAdapterFactory(); outputWriters = new Stack<TextWriter>(); viewFilters = new Stack<IViewFilter>(); }
protected override void Initialize() { base.Initialize(); dictionaryAdapterFactory = new DictionaryAdapterFactory(); }
void IDictionaryMetaInitializer.Initialize(IDictionaryAdapterFactory factory, DictionaryAdapterMeta meta) { meta.SetXmlMeta(new XmlMetadata(meta)); }
void IDictionaryMetaInitializer.Initialize(IDictionaryAdapterFactory factory, DictionaryAdapterMeta meta) { meta.SetXmlMeta(new XmlMetadata(meta, reservedNamespaceUris)); }
// Dependencies: // IDictionaryAdapterFactory : DictionaryAdapterFactory public CastleObjectMapper(IDictionaryAdapterFactory dictionaryAdapterFactory = null) { _dictionaryAdapterFactory = dictionaryAdapterFactory ?? new DictionaryAdapterFactory(); }
void IDictionaryMetaInitializer.Initialize(IDictionaryAdapterFactory factory, DictionaryAdapterMeta meta) { meta.SetXmlMeta(new XmlMetadata(meta)); }
/// <summary> /// Gets the property value. /// </summary> /// <param name="factory">The factory.</param> /// <param name="dictionary">The dictionary.</param> /// <param name="key">The key.</param> /// <param name="storedValue">The stored value.</param> /// <param name="descriptor">The descriptor.</param> /// <returns></returns> public object GetPropertyValue( IDictionaryAdapterFactory factory, IDictionary dictionary, string key, object storedValue, PropertyDescriptor descriptor) { if (getters != null) { foreach(IDictionaryPropertyGetter getter in getters) { storedValue = getter.GetPropertyValue( factory, dictionary, key, storedValue, this); } } if (descriptor != null && descriptor.Getters != null) { foreach (IDictionaryPropertyGetter getter in descriptor.Getters) { storedValue = getter.GetPropertyValue( factory, dictionary, key, storedValue, this); } } return storedValue; }
/// <summary> /// Sets the property value. /// </summary> /// <param name="factory">The factory.</param> /// <param name="dictionary">The dictionary.</param> /// <param name="key">The key.</param> /// <param name="value">The value.</param> /// <param name="descriptor">The descriptor.</param> /// <returns></returns> public bool SetPropertyValue( IDictionaryAdapterFactory factory, IDictionary dictionary, string key, ref object value, PropertyDescriptor descriptor) { bool consumed = false; if (setters != null) { foreach(IDictionaryPropertySetter setter in setters) { if (!setter.SetPropertyValue( factory, dictionary, key, ref value, this)) { consumed = true; } } } if (descriptor != null && descriptor.Setters != null) { foreach (IDictionaryPropertySetter setter in descriptor.Setters) { if (!setter.SetPropertyValue( factory, dictionary, key, ref value, this)) { consumed = true; } } } return !consumed; }