public abstract class NamespaceHandlerSupport extends Object implements NamespaceHandler
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)
Constructor and Description |
---|
NamespaceHandlerSupport() |
Modifier and Type | Method and Description |
---|---|
BeanDefinitionHolder |
decorate(Node node,
BeanDefinitionHolder definition,
ParserContext parserContext)
Decorates the supplied
Node by delegating to the BeanDefinitionDecorator that
is registered to handle that Node . |
BeanDefinition |
parse(Element element,
ParserContext parserContext)
Parses the supplied
Element by delegating to the BeanDefinitionParser that is
registered for that Element . |
protected void |
registerBeanDefinitionDecorator(String elementName,
BeanDefinitionDecorator dec)
Subclasses can call this to register the supplied
BeanDefinitionDecorator to
handle the specified element. |
protected void |
registerBeanDefinitionDecoratorForAttribute(String attrName,
BeanDefinitionDecorator dec)
Subclasses can call this to register the supplied
BeanDefinitionDecorator to
handle the specified attribute. |
protected void |
registerBeanDefinitionParser(String elementName,
BeanDefinitionParser parser)
Subclasses can call this to register the supplied
BeanDefinitionParser to
handle the specified element. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
init
@Nullable public BeanDefinition parse(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 processBeanDefinition
(can be null
as explained above)@Nullable public BeanDefinitionHolder decorate(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 processnull
value is strictly speaking invalid, but will be leniently
treated like the case where the original bean definition gets returned.protected final void registerBeanDefinitionParser(String elementName, BeanDefinitionParser parser)
BeanDefinitionParser
to
handle the specified element. The element name is the local (non-namespace qualified)
name.protected final void registerBeanDefinitionDecorator(String elementName, BeanDefinitionDecorator dec)
BeanDefinitionDecorator
to
handle the specified element. The element name is the local (non-namespace qualified)
name.protected final void registerBeanDefinitionDecoratorForAttribute(String attrName, BeanDefinitionDecorator dec)
BeanDefinitionDecorator
to
handle the specified attribute. The attribute name is the local (non-namespace qualified)
name.