java.lang.Object | |
↳ | org.springframework.beans.factory.xml.AbstractBeanDefinitionParser |
Known Direct Subclasses |
Known Indirect Subclasses |
Abstract BeanDefinitionParser
implementation providing
a number of convenience methods and a
template method
that subclasses must override to provide the actual parsing logic.
Use this BeanDefinitionParser
implementation when you want
to parse some arbitrarily complex XML into one or more
BeanDefinitions
. If you just want to parse some
XML into a single BeanDefinition
, you may wish to consider
the simpler convenience extensions of this class, namely
AbstractSingleBeanDefinitionParser
and
AbstractSimpleBeanDefinitionParser
.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | ID_ATTRIBUTE | Constant for the id attribute | |||||||||
String | NAME_ATTRIBUTE | Constant for the name attribute |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parse the specified
Element and register the resulting
BeanDefinition(s) with the
BeanDefinitionRegistry
embedded in the supplied ParserContext . |
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Central template method to actually parse the supplied
Element
into one or more BeanDefinitions . | |||||||||||
Hook method called after the primary parsing of a
BeanComponentDefinition but before the
BeanComponentDefinition has been registered with a
BeanDefinitionRegistry . | |||||||||||
Resolve the ID for the supplied
BeanDefinition . | |||||||||||
Controls whether this parser is supposed to fire a
BeanComponentDefinition
event after parsing the bean definition. | |||||||||||
Should an ID be generated instead of read from the passed in
Element ?
Disabled by default; subclasses can override this to enable ID generation. | |||||||||||
Should an ID be generated instead if the passed in
Element does not
specify an "id" attribute explicitly?
Disabled by default; subclasses can override this to enable ID generation as fallback: The parser will first check for an "id" attribute in this case, only falling back to a generated ID if no value was specified. |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
org.springframework.beans.factory.xml.BeanDefinitionParser
|
Constant for the id attribute
Constant for the name attribute
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.
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 . |
BeanDefinition
Central template method to actually parse the supplied Element
into one or more BeanDefinitions
.
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 |
BeanDefinition
resulting from the parsing of the supplied Element
Hook method called after the primary parsing of a
BeanComponentDefinition
but before the
BeanComponentDefinition
has been registered with a
BeanDefinitionRegistry
.
Derived classes can override this method to supply any custom logic that is to be executed after all the parsing is finished.
The default implementation is a no-op.
componentDefinition | the BeanComponentDefinition that is to be processed
|
---|
Register the supplied bean
with the supplied
registry
.
Subclasses can override this method to control whether or not the supplied
bean
is actually even registered, or to
register even more beans.
The default implementation registers the supplied bean
with the supplied registry
only if the isNested
parameter is false
, because one typically does not want inner beans
to be registered as top level beans.
definition | the bean definition to be registered |
---|---|
registry | the registry that the bean is to be registered with |
Resolve the ID for the supplied BeanDefinition
.
When using generation
, a name is generated automatically.
Otherwise, the ID is extracted from the "id" attribute, potentially with a
fallback
to a generated id.
element | the element that the bean definition has been built from |
---|---|
definition | the bean definition to be registered |
parserContext | the object encapsulating the current state of the parsing process;
provides access to a BeanDefinitionRegistry |
BeanDefinitionStoreException | if no unique name could be generated for the given bean definition |
---|
Controls whether this parser is supposed to fire a
BeanComponentDefinition
event after parsing the bean definition.
This implementation returns true
by default; that is,
an event will be fired when a bean definition has been completely parsed.
Override this to return false
in order to suppress the event.
true
in order to fire a component registration event
after parsing the bean definition; false
to suppress the eventShould an ID be generated instead of read from the passed in Element
?
Disabled by default; subclasses can override this to enable ID generation. Note that this flag is about always generating an ID; the parser won't even check for an "id" attribute in this case.
Should an ID be generated instead if the passed in Element
does not
specify an "id" attribute explicitly?
Disabled by default; subclasses can override this to enable ID generation as fallback: The parser will first check for an "id" attribute in this case, only falling back to a generated ID if no value was specified.