|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.beans.factory.xml.NamespaceHandlerSupport
public abstract class NamespaceHandlerSupport
Support class for implementing custom NamespaceHandlers
.
Parsing and decorating of individual Nodes
is done via BeanDefinitionParser
and BeanDefinitionDecorator
strategy interfaces, respectively.
Provides the registerBeanDefinitionParser(java.lang.String, org.springframework.beans.factory.xml.BeanDefinitionParser)
and registerBeanDefinitionDecorator(java.lang.String, org.springframework.beans.factory.xml.BeanDefinitionDecorator)
methods for registering a BeanDefinitionParser
or BeanDefinitionDecorator
to handle a specific element.
registerBeanDefinitionParser(String, BeanDefinitionParser)
,
registerBeanDefinitionDecorator(String, BeanDefinitionDecorator)
Field Summary | |
---|---|
private java.util.Map<java.lang.String,BeanDefinitionDecorator> |
attributeDecorators
Stores the BeanDefinitionDecorator implementations keyed by the local
name of the Attrs they handle. |
private java.util.Map<java.lang.String,BeanDefinitionDecorator> |
decorators
Stores the BeanDefinitionDecorator implementations keyed by the
local name of the Elements they handle. |
private java.util.Map<java.lang.String,BeanDefinitionParser> |
parsers
Stores the BeanDefinitionParser implementations keyed by the
local name of the Elements they handle. |
Constructor Summary | |
---|---|
NamespaceHandlerSupport()
|
Method Summary | |
---|---|
BeanDefinitionHolder |
decorate(org.w3c.dom.Node node,
BeanDefinitionHolder definition,
ParserContext parserContext)
Decorates the supplied Node by delegating to the BeanDefinitionDecorator that
is registered to handle that Node . |
private BeanDefinitionDecorator |
findDecoratorForNode(org.w3c.dom.Node node,
ParserContext parserContext)
Locates the BeanDefinitionParser from the register implementations using
the local name of the supplied Node . |
private BeanDefinitionParser |
findParserForElement(org.w3c.dom.Element element,
ParserContext parserContext)
Locates the BeanDefinitionParser from the register implementations using
the local name of the supplied Element . |
BeanDefinition |
parse(org.w3c.dom.Element element,
ParserContext parserContext)
Parses the supplied Element by delegating to the BeanDefinitionParser that is
registered for that Element . |
protected void |
registerBeanDefinitionDecorator(java.lang.String elementName,
BeanDefinitionDecorator dec)
Subclasses can call this to register the supplied BeanDefinitionDecorator to
handle the specified element. |
protected void |
registerBeanDefinitionDecoratorForAttribute(java.lang.String attrName,
BeanDefinitionDecorator dec)
Subclasses can call this to register the supplied BeanDefinitionDecorator to
handle the specified attribute. |
protected void |
registerBeanDefinitionParser(java.lang.String elementName,
BeanDefinitionParser parser)
Subclasses can call this to register the supplied BeanDefinitionParser to
handle the specified element. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.springframework.beans.factory.xml.NamespaceHandler |
---|
init |
Field Detail |
---|
private final java.util.Map<java.lang.String,BeanDefinitionParser> parsers
BeanDefinitionParser
implementations keyed by the
local name of the Elements
they handle.
private final java.util.Map<java.lang.String,BeanDefinitionDecorator> decorators
BeanDefinitionDecorator
implementations keyed by the
local name of the Elements
they handle.
private final java.util.Map<java.lang.String,BeanDefinitionDecorator> attributeDecorators
BeanDefinitionDecorator
implementations keyed by the local
name of the Attrs
they handle.
Constructor Detail |
---|
public NamespaceHandlerSupport()
Method Detail |
---|
public BeanDefinition parse(org.w3c.dom.Element element, ParserContext parserContext)
Element
by delegating to the BeanDefinitionParser
that is
registered for that Element
.
parse
in interface NamespaceHandler
element
- the element that is to be parsed into one or more BeanDefinitions
parserContext
- the object encapsulating the current state of the parsing process
BeanDefinition
(can be null
as explained above)private BeanDefinitionParser findParserForElement(org.w3c.dom.Element element, ParserContext parserContext)
BeanDefinitionParser
from the register implementations using
the local name of the supplied Element
.
public BeanDefinitionHolder decorate(org.w3c.dom.Node node, BeanDefinitionHolder definition, ParserContext parserContext)
Node
by delegating to the BeanDefinitionDecorator
that
is registered to handle that Node
.
decorate
in interface NamespaceHandler
node
- the source element or attribute that is to be parseddefinition
- the current bean definitionparserContext
- the object encapsulating the current state of the parsing process
null
value is strictly speaking invalid, but will be leniently
treated like the case where the original bean definition gets returned.private BeanDefinitionDecorator findDecoratorForNode(org.w3c.dom.Node node, ParserContext parserContext)
BeanDefinitionParser
from the register implementations using
the local name of the supplied Node
. Supports both Elements
and Attrs
.
protected final void registerBeanDefinitionParser(java.lang.String elementName, BeanDefinitionParser parser)
BeanDefinitionParser
to
handle the specified element. The element name is the local (non-namespace qualified)
name.
protected final void registerBeanDefinitionDecorator(java.lang.String elementName, BeanDefinitionDecorator dec)
BeanDefinitionDecorator
to
handle the specified element. The element name is the local (non-namespace qualified)
name.
protected final void registerBeanDefinitionDecoratorForAttribute(java.lang.String attrName, BeanDefinitionDecorator dec)
BeanDefinitionDecorator
to
handle the specified attribute. The attribute name is the local (non-namespace qualified)
name.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |