Class NamespaceHandlerSupport
java.lang.Object
org.springframework.beans.factory.xml.NamespaceHandlerSupport
- All Implemented Interfaces:
NamespaceHandler
- Direct Known Subclasses:
AopNamespaceHandler
,CacheNamespaceHandler
,ContextNamespaceHandler
,JdbcNamespaceHandler
,JeeNamespaceHandler
,JmsNamespaceHandler
,LangNamespaceHandler
,MvcNamespaceHandler
,OxmNamespaceHandler
,TaskNamespaceHandler
,TxNamespaceHandler
,UtilNamespaceHandler
,WebSocketNamespaceHandler
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.
- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondecorate
(Node node, BeanDefinitionHolder definition, ParserContext parserContext) Decorates the suppliedNode
by delegating to theBeanDefinitionDecorator
that is registered to handle thatNode
.parse
(Element element, ParserContext parserContext) Parses the suppliedElement
by delegating to theBeanDefinitionParser
that is registered for thatElement
.protected final void
registerBeanDefinitionDecorator
(String elementName, BeanDefinitionDecorator dec) Subclasses can call this to register the suppliedBeanDefinitionDecorator
to handle the specified element.protected final void
Subclasses can call this to register the suppliedBeanDefinitionDecorator
to handle the specified attribute.protected final void
registerBeanDefinitionParser
(String elementName, BeanDefinitionParser parser) Subclasses can call this to register the suppliedBeanDefinitionParser
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
-
Constructor Details
-
NamespaceHandlerSupport
public NamespaceHandlerSupport()
-
-
Method Details
-
parse
Parses the suppliedElement
by delegating to theBeanDefinitionParser
that is registered for thatElement
.- Specified by:
parse
in interfaceNamespaceHandler
- Parameters:
element
- the element that is to be parsed into one or moreBeanDefinitions
parserContext
- the object encapsulating the current state of the parsing process- Returns:
- the primary
BeanDefinition
(can benull
as explained above)
-
decorate
@Nullable public BeanDefinitionHolder decorate(Node node, BeanDefinitionHolder definition, ParserContext parserContext) Decorates the suppliedNode
by delegating to theBeanDefinitionDecorator
that is registered to handle thatNode
.- Specified by:
decorate
in interfaceNamespaceHandler
- Parameters:
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- Returns:
- the decorated definition (to be registered in the BeanFactory),
or simply the original bean definition if no decoration is required.
A
null
value is strictly speaking invalid, but will be leniently treated like the case where the original bean definition gets returned.
-
registerBeanDefinitionParser
Subclasses can call this to register the suppliedBeanDefinitionParser
to handle the specified element. The element name is the local (non-namespace qualified) name. -
registerBeanDefinitionDecorator
protected final void registerBeanDefinitionDecorator(String elementName, BeanDefinitionDecorator dec) Subclasses can call this to register the suppliedBeanDefinitionDecorator
to handle the specified element. The element name is the local (non-namespace qualified) name. -
registerBeanDefinitionDecoratorForAttribute
protected final void registerBeanDefinitionDecoratorForAttribute(String attrName, BeanDefinitionDecorator dec) Subclasses can call this to register the suppliedBeanDefinitionDecorator
to handle the specified attribute. The attribute name is the local (non-namespace qualified) name.
-