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

public abstract class NamespaceHandlerSupport extends Object implements NamespaceHandler
Since:
2.0
Author:
Rob Harrop, Juergen Hoeller
See Also:
  • Constructor Details

    • NamespaceHandlerSupport

      public NamespaceHandlerSupport()
  • Method Details

    • parse

      @Nullable public BeanDefinition parse(Element element, ParserContext parserContext)
      Parses the supplied Element by delegating to the BeanDefinitionParser that is registered for that Element.
      Specified by:
      parse in interface NamespaceHandler
      Parameters:
      element - the element that is to be parsed into one or more BeanDefinitions
      parserContext - the object encapsulating the current state of the parsing process
      Returns:
      the primary BeanDefinition (can be null as explained above)
    • decorate

      @Nullable public BeanDefinitionHolder decorate(Node node, BeanDefinitionHolder definition, ParserContext parserContext)
      Decorates the supplied Node by delegating to the BeanDefinitionDecorator that is registered to handle that Node.
      Specified by:
      decorate in interface NamespaceHandler
      Parameters:
      node - the source element or attribute that is to be parsed
      definition - the current bean definition
      parserContext - 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

      protected final void registerBeanDefinitionParser(String elementName, BeanDefinitionParser parser)
      Subclasses can call this to register the supplied BeanDefinitionParser 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 supplied BeanDefinitionDecorator 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 supplied BeanDefinitionDecorator to handle the specified attribute. The attribute name is the local (non-namespace qualified) name.