org.springframework.beans.factory.xml
Interface BeanDefinitionParser

All Known Implementing Classes:
AbstractBeanDefinitionParser, AbstractSimpleBeanDefinitionParser, AbstractSingleBeanDefinitionParser, AnnotationConfigBeanDefinitionParser, AnnotationDrivenBeanDefinitionParser, ComponentScanBeanDefinitionParser, EmbeddedDatabaseBeanDefinitionParser, ExecutorBeanDefinitionParser, InitializeDatabaseBeanDefinitionParser, JtaTransactionManagerBeanDefinitionParser, ScheduledTasksBeanDefinitionParser, SchedulerBeanDefinitionParser, ScriptingDefaultsParser

public interface BeanDefinitionParser

Interface used by the DefaultBeanDefinitionDocumentReader to handle custom, top-level (directly under <beans>) tags.

Implementations are free to turn the metadata in the custom tag into as many BeanDefinitions as required.

The parser locates a BeanDefinitionParser from the associated NamespaceHandler for the namespace in which the custom tag resides.

Since:
2.0
Author:
Rob Harrop
See Also:
NamespaceHandler, BeanDefinitionDecorator, AbstractBeanDefinitionParser

Method Summary
 BeanDefinition parse(Element element, ParserContext parserContext)
          Parse the specified Element and register the resulting BeanDefinition(s) with the ParserContext.getRegistry() BeanDefinitionRegistry} embedded in the supplied ParserContext.
 

Method Detail

parse

BeanDefinition parse(Element element,
                     ParserContext parserContext)
Parse the specified Element and register the resulting BeanDefinition(s) with the ParserContext.getRegistry() BeanDefinitionRegistry} embedded in the supplied ParserContext.

Implementations must return the primary BeanDefinition that results from the parse if they will ever be used in a nested fashion (for example as an inner tag in a <property/> tag). Implementations may return null if they will not be used in a nested fashion.

Parameters:
element - the element that is to be parsed into one or more BeanDefinitions
parserContext - the object encapsulating the current state of the parsing process; provides access to a BeanDefinitionRegistry
Returns:
the primary BeanDefinition