Пример #1
0
 /// <summary>
 /// Loads the object definitions.
 /// </summary>
 /// <param name="configurationModel">The configuration model.</param>
 public void LoadObjectDefinitions(Collections.Generic.ISet <ConfigurationClass> configurationModel)
 {
     foreach (ConfigurationClass configClass in configurationModel)
     {
         LoadObjectDefinitionsForConfigurationClass(configClass);
     }
 }
 /// <summary>
 /// Create a new QualifierAnnotationAutowireCandidateResolver
 /// for the given qualifier attribute types.
 /// </summary>
 /// <param name="qualifierTypes">the qualifier annotations to look for</param>
 public QualifierAnnotationAutowireCandidateResolver(Collections.Generic.ISet <Type> qualifierTypes)
 {
     AssertUtils.ArgumentNotNull(qualifierTypes, "'qualifierTypes' must not be null");
     foreach (var type in qualifierTypes)
     {
         if (!_qualifierTypes.Contains(type))
         {
             _qualifierTypes.Add(type);
         }
     }
 }
Пример #3
0
 private static bool HasAttributeOnMethods(Type objectType, Type attributeType)
 {
     Collections.Generic.ISet <MethodInfo> methods = ConfigurationClassParser.GetAllMethodsWithCustomAttributeForClass(objectType,
                                                                                                                       attributeType);
     foreach (MethodInfo method in methods)
     {
         if (Attribute.GetCustomAttribute(method, attributeType) != null)
         {
             return(true);
         }
     }
     return(false);
 }
        private void DoProcessConfigurationClass(ConfigurationClass configurationClass)
        {
            Attribute[] importAttributes = Attribute.GetCustomAttributes(configurationClass.ConfigurationClassType, typeof(ImportAttribute));

            if (importAttributes.Length > 0)
            {
                foreach (Attribute importAttribute in importAttributes)
                {
                    ImportAttribute attrib = importAttribute as ImportAttribute;

                    if (null != attrib)
                    {
                        ProcessImport(configurationClass, attrib.Types);
                    }
                }
            }

            Attribute[] importResourceAttributes = Attribute.GetCustomAttributes(configurationClass.ConfigurationClassType, typeof(ImportResourceAttribute));

            if (importResourceAttributes.Length > 0)
            {
                foreach (Attribute importResourceAttribute in importResourceAttributes)
                {
                    ImportResourceAttribute attrib = importResourceAttribute as ImportResourceAttribute;

                    if (null != attrib)
                    {
                        foreach (string resource in attrib.Resources)
                        {
                            configurationClass.AddImportedResource(resource, attrib.DefinitionReader);
                        }
                    }
                }
            }

            Collections.Generic.ISet <MethodInfo> definitionMethods = GetAllMethodsWithCustomAttributeForClass(configurationClass.ConfigurationClassType, typeof(ObjectDefAttribute));
            foreach (MethodInfo definitionMethod in definitionMethods)
            {
                configurationClass.Methods.Add(new ConfigurationClassMethod(definitionMethod, configurationClass));
            }
        }