| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface NamespaceHandler
Base interface used by the DefaultBeanDefinitionDocumentReader
 for handling custom namespaces in a Spring XML configuration file.
 
Implementations are expected to return implementations of the
 BeanDefinitionParser interface for custom top-level tags and
 implementations of the BeanDefinitionDecorator interface for
 custom nested tags.
 
The parser will call parse(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext) when it encounters a custom tag
 directly under the <beans> tags and decorate(org.w3c.dom.Node, org.springframework.beans.factory.config.BeanDefinitionHolder, org.springframework.beans.factory.xml.ParserContext) when
 it encounters a custom tag directly under a <bean> tag.
 
Developers writing their own custom element extensions typically will
 not implement this interface drectly, but rather make use of the provided
 NamespaceHandlerSupport class.
DefaultBeanDefinitionDocumentReader, 
NamespaceHandlerResolver| Method Summary | |
|---|---|
|  BeanDefinitionHolder | decorate(Node source,
         BeanDefinitionHolder definition,
         ParserContext parserContext)Parse the specified Nodeand decorate the suppliedBeanDefinitionHolder, returning the decorated definition. | 
|  void | init()Invoked by the DefaultBeanDefinitionDocumentReaderafter
 construction but before any custom elements are parsed. | 
|  BeanDefinition | parse(Element element,
      ParserContext parserContext)Parse the specified Elementand register any resultingBeanDefinitionswith theBeanDefinitionRegistrythat is embedded in the suppliedParserContext. | 
| Method Detail | 
|---|
void init()
DefaultBeanDefinitionDocumentReader after
 construction but before any custom elements are parsed.
NamespaceHandlerSupport.registerBeanDefinitionParser(String, BeanDefinitionParser)
BeanDefinition parse(Element element,
                     ParserContext parserContext)
Element and register any resulting
 BeanDefinitions with the
 BeanDefinitionRegistry
 that is embedded in the supplied ParserContext.
 Implementations should return the primary BeanDefinition
 that results from the parse phase if they wish to be used nested
 inside (for example) a <property> tag.
 
Implementations may return null if they will
 not be used in a nested scenario.
element - the element that is to be parsed into one or more BeanDefinitionsparserContext - the object encapsulating the current state of the parsing process
BeanDefinition (can be null as explained above)
BeanDefinitionHolder decorate(Node source,
                              BeanDefinitionHolder definition,
                              ParserContext parserContext)
Node and decorate the supplied
 BeanDefinitionHolder, returning the decorated definition.
 The Node may be either an Attr or an
 Element, depending on whether a custom attribute or element
 is being parsed.
 
Implementations may choose to return a completely new definition,
 which will replace the original definition in the resulting
 BeanFactory.
 
The supplied ParserContext can be used to register any
 additional beans needed to support the main definition.
source - 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.| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||