Configuration class definition, populating a collection of
ConfigurationClass objects (parsing a single Configuration class may result in
any number of ConfigurationClass objects because one Configuration class may import
another using the Import annotation).
This class helps separate the concern of parsing the structure of a Configuration
class from the concern of registering BeanDefinition objects based on the content of
that model (with the exception of @ComponentScan annotations which need to be
registered immediately).
This ASM-based implementation avoids reflection and eager class loading in order to interoperate effectively with lazy class loading in a Spring ApplicationContext.
ConfigurationClassBeanDefinitionReader
| Modifier and Type | Class and Description |
|---|---|
| private static class | |
| private static class | |
| private static class | |
| private class | |
| private class | |
| private static class | |
| private static class | |
| private class | ConfigurationClassParser.SourceClass
Simple wrapper that allows annotated source classes to be dealt with in a uniform manner, regardless of how they are loaded. |
| Modifier and Type | Field and Description |
|---|---|
| private final ComponentScanAnnotationParser | |
| private final ConditionEvaluator | |
| private final Map | |
| private static final Predicate | |
| private static final Comparator | |
| private final ConfigurationClassParser. | |
| private final Environment | |
| private final ConfigurationClassParser. | |
| private final Map | |
| private final Log | |
| private final MetadataReaderFactory | |
| private final ConfigurationClassParser. | |
| private final ProblemReporter | |
| private final PropertySourceRegistry | |
| private final BeanDefinitionRegistry | |
| private final ResourceLoader |
| Access | Constructor and Description |
|---|---|
| public | ConfigurationClassParser(MetadataReaderFactory metadataReaderFactory, ProblemReporter problemReporter, Environment environment, ResourceLoader resourceLoader, BeanNameGenerator componentScanBeanNameGenerator, BeanDefinitionRegistry registry)
Create a new |
| Modifier and Type | Method and Description |
|---|---|
| private ConfigurationClassParser. | asSourceClass(ConfigurationClass configurationClass, Predicate<String> filter)
Factory method to obtain a |
| pack-priv ConfigurationClassParser. | asSourceClass(Class<?> classType, Predicate<String> filter)
Factory method to obtain a |
| pack-priv ConfigurationClassParser. | asSourceClass(String className, Predicate<String> filter)
Factory method to obtain a |
| private Collection | asSourceClasses(String[] classNames, Predicate<String> filter)
Factory method to obtain a |
| private void | collectImports(ConfigurationClassParser.
the class to search sourceClass,the imports collected so far imports,used to track visited classes to prevent infinite recursion visitedRecursively collect all declared |
| protected final ConfigurationClassParser. | Returns: the superclass, ornull if none found or previously processedthe configuration class being build configClass, ConfigurationClassParser.a source class sourceClass,Apply processing and build a complete |
| public Set | |
| pack-priv ImportRegistry | |
| private Set | getImports(ConfigurationClassParser.
Returns |
| pack-priv List | |
| private boolean | |
| public void | |
| protected final void | |
| protected final void | |
| protected final void | |
| protected void | |
| private void | processImports(ConfigurationClass configClass, ConfigurationClassParser.
|
| private void | processInterfaces(ConfigurationClass configClass, ConfigurationClassParser.
Register default methods on interfaces implemented by the configuration class. |
| private void | processMemberClasses(ConfigurationClass configClass, ConfigurationClassParser.
Register member (nested) classes that happen to be configuration classes themselves. |
| private Set | retrieveBeanMethodMetadata(ConfigurationClassParser.
Retrieve the metadata for all |
| public void |