org.springframework.beans.factory.xml

## Interface BeanDefinitionParser

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

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `BeanDefinition` | `parse(Element element, ParserContext parserContext)` Parse the specified `Element` and register the resulting `BeanDefinition(s)` with the `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 `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`