|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.beans.factory.xml.AbstractBeanDefinitionParser org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
public abstract class AbstractSingleBeanDefinitionParser
Base class for those BeanDefinitionParser
implementations that
need to parse and define just a single BeanDefinition
.
Extend this parser class when you want to create a single bean definition
from an arbitrarily complex XML element. You may wish to consider extending
the AbstractSimpleBeanDefinitionParser
when you want to create a
single bean definition from a relatively simple custom XML element.
The resulting BeanDefinition
will be automatically registered
with the BeanDefinitionRegistry
.
Your job simply is to parse
the custom XML Element
into a single BeanDefinition
.
getBeanClass(org.w3c.dom.Element)
,
getBeanClassName(org.w3c.dom.Element)
,
doParse(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder)
Field Summary |
---|
Fields inherited from class org.springframework.beans.factory.xml.AbstractBeanDefinitionParser |
---|
ID_ATTRIBUTE, NAME_ATTRIBUTE |
Constructor Summary | |
---|---|
AbstractSingleBeanDefinitionParser()
|
Method Summary | |
---|---|
protected void |
doParse(Element element,
BeanDefinitionBuilder builder)
Parse the supplied Element and populate the supplied
BeanDefinitionBuilder as required. |
protected void |
doParse(Element element,
ParserContext parserContext,
BeanDefinitionBuilder builder)
Parse the supplied Element and populate the supplied
BeanDefinitionBuilder as required. |
protected Class |
getBeanClass(Element element)
Determine the bean class corresponding to the supplied Element . |
protected String |
getBeanClassName(Element element)
Determine the bean class name corresponding to the supplied Element . |
protected String |
getParentName(Element element)
Determine the name for the parent of the currently parsed bean, in case of the current bean being defined as a child bean. |
protected AbstractBeanDefinition |
parseInternal(Element element,
ParserContext parserContext)
Creates a BeanDefinitionBuilder instance for the
bean Class and passes it to the
doParse(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder) strategy method. |
Methods inherited from class org.springframework.beans.factory.xml.AbstractBeanDefinitionParser |
---|
parse, postProcessComponentDefinition, registerBeanDefinition, resolveId, shouldFireEvents, shouldGenerateId, shouldGenerateIdAsFallback |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AbstractSingleBeanDefinitionParser()
Method Detail |
---|
protected final AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext)
BeanDefinitionBuilder
instance for the
bean Class
and passes it to the
doParse(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder)
strategy method.
parseInternal
in class AbstractBeanDefinitionParser
element
- the element that is to be parsed into a single BeanDefinitionparserContext
- the object encapsulating the current state of the parsing process
Element
IllegalStateException
- if the bean Class
returned from
getBeanClass(org.w3c.dom.Element)
is null
doParse(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder)
protected String getParentName(Element element)
The default implementation returns null
,
indicating a root bean definition.
element
- the Element
that is being parsed
null
if noneprotected Class getBeanClass(Element element)
Element
.
Note that, for application classes, it is generally preferable to
override getBeanClassName(org.w3c.dom.Element)
instead, in order to avoid a direct
dependence on the bean implementation class. The BeanDefinitionParser
and its NamespaceHandler can be used within an IDE plugin then, even
if the application classes are not available on the plugin's classpath.
element
- the Element
that is being parsed
Class
of the bean that is being defined via parsing
the supplied Element
, or null
if nonegetBeanClassName(org.w3c.dom.Element)
protected String getBeanClassName(Element element)
Element
.
element
- the Element
that is being parsed
Element
, or null
if nonegetBeanClass(org.w3c.dom.Element)
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
Element
and populate the supplied
BeanDefinitionBuilder
as required.
The default implementation delegates to the doParse
version without ParserContext argument.
element
- the XML element being parsedparserContext
- the object encapsulating the current state of the parsing processbuilder
- used to define the BeanDefinition
doParse(Element, BeanDefinitionBuilder)
protected void doParse(Element element, BeanDefinitionBuilder builder)
Element
and populate the supplied
BeanDefinitionBuilder
as required.
The default implementation does nothing.
element
- the XML element being parsedbuilder
- used to define the BeanDefinition
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |