|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.context.annotation.ConfigurationClassParser
class ConfigurationClassParser
Parses a 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.
This ASM-based implementation avoids reflection and eager class loading in order to interoperate effectively with lazy class loading in a Spring ApplicationContext.
ConfigurationClassBeanDefinitionReader
Nested Class Summary | |
---|---|
private static class |
ConfigurationClassParser.CircularImportProblem
Problem registered upon detection of a circular Import . |
(package private) static interface |
ConfigurationClassParser.ImportRegistry
|
private static class |
ConfigurationClassParser.ImportStack
|
Field Summary | |
---|---|
private ComponentScanAnnotationParser |
componentScanParser
|
private java.util.Set<ConfigurationClass> |
configurationClasses
|
private Environment |
environment
|
private ConfigurationClassParser.ImportStack |
importStack
|
private MetadataReaderFactory |
metadataReaderFactory
|
private ProblemReporter |
problemReporter
|
private java.util.Stack<PropertySource<?>> |
propertySources
|
private BeanDefinitionRegistry |
registry
|
private ResourceLoader |
resourceLoader
|
Constructor Summary | |
---|---|
ConfigurationClassParser(MetadataReaderFactory metadataReaderFactory,
ProblemReporter problemReporter,
Environment environment,
ResourceLoader resourceLoader,
BeanDefinitionRegistry registry)
Create a new ConfigurationClassParser instance that will be used
to populate the set of configuration classes. |
Method Summary | |
---|---|
protected void |
doProcessConfigurationClass(ConfigurationClass configClass,
AnnotationMetadata metadata)
|
java.util.Set<ConfigurationClass> |
getConfigurationClasses()
|
ConfigurationClassParser.ImportRegistry |
getImportRegistry()
|
java.util.Stack<PropertySource<?>> |
getPropertySources()
|
void |
parse(java.lang.Class<?> clazz,
java.lang.String beanName)
Parse the specified @Configuration class. |
void |
parse(java.lang.String className,
java.lang.String beanName)
Parse the specified @Configuration class. |
protected void |
processConfigurationClass(ConfigurationClass configClass)
|
private void |
processImport(ConfigurationClass configClass,
java.lang.String[] classesToImport,
boolean checkForCircularImports)
|
void |
validate()
Validate each ConfigurationClass object. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final MetadataReaderFactory metadataReaderFactory
private final ProblemReporter problemReporter
private final ConfigurationClassParser.ImportStack importStack
private final java.util.Set<ConfigurationClass> configurationClasses
private final java.util.Stack<PropertySource<?>> propertySources
private final Environment environment
private final ResourceLoader resourceLoader
private final BeanDefinitionRegistry registry
private final ComponentScanAnnotationParser componentScanParser
Constructor Detail |
---|
public ConfigurationClassParser(MetadataReaderFactory metadataReaderFactory, ProblemReporter problemReporter, Environment environment, ResourceLoader resourceLoader, BeanDefinitionRegistry registry)
ConfigurationClassParser
instance that will be used
to populate the set of configuration classes.
Method Detail |
---|
public void parse(java.lang.String className, java.lang.String beanName) throws java.io.IOException
@Configuration
class.
className
- the name of the class to parsebeanName
- may be null, but if populated represents the bean id
(assumes that this configuration class was configured via XML)
java.io.IOException
public void parse(java.lang.Class<?> clazz, java.lang.String beanName) throws java.io.IOException
@Configuration
class.
clazz
- the Class to parsebeanName
- may be null, but if populated represents the bean id
(assumes that this configuration class was configured via XML)
java.io.IOException
protected void processConfigurationClass(ConfigurationClass configClass) throws java.io.IOException
java.io.IOException
protected void doProcessConfigurationClass(ConfigurationClass configClass, AnnotationMetadata metadata) throws java.io.IOException
java.io.IOException
private void processImport(ConfigurationClass configClass, java.lang.String[] classesToImport, boolean checkForCircularImports) throws java.io.IOException
java.io.IOException
public void validate()
ConfigurationClass
object.
ConfigurationClass.validate(org.springframework.beans.factory.parsing.ProblemReporter)
public java.util.Set<ConfigurationClass> getConfigurationClasses()
public java.util.Stack<PropertySource<?>> getPropertySources()
public ConfigurationClassParser.ImportRegistry getImportRegistry()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |