Package org.springframework.beans.factory.xml

# Interface BeanDefinitionParser

All Known Implementing Classes:
  `AbstractBeanDefinitionParser`, `AbstractSimpleBeanDefinitionParser`, `AbstractSingleBeanDefinitionParser`

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

Modifier and Type
Method
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 Details

### parse

@Nullable 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`