## org.springframework.beans.factory.xml
Interface BeanDefinitionParser

All Known Implementing Classes:
  AbstractBeanDefinitionParser, AbstractSimpleBeanDefinitionParser, AbstractSingleBeanDefinitionParser, AnnotationConfigBeanDefinitionParser, ComponentScanBeanDefinitionParser, JtaTransactionManagerBeanDefinitionParser, 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`

Copyright © 2002-2008 The Spring Framework.