public interface BeanDefinitionDecorator
DefaultBeanDefinitionDocumentReader
 to handle custom, nested (directly under a <bean>) tags.
 Decoration may also occur based on custom attributes applied to the
 <bean> tag. Implementations are free to turn the metadata in the
 custom tag into as many
 BeanDefinitions as
 required and to transform the
 BeanDefinition of the enclosing
 <bean> tag, potentially even returning a completely different
 BeanDefinition to replace the
 original.
 
BeanDefinitionDecorators should be aware that
 they may be part of a chain. In particular, a BeanDefinitionDecorator should
 be aware that a previous BeanDefinitionDecorator may have replaced the
 original BeanDefinition with a
 org.springframework.aop.framework.ProxyFactoryBean definition allowing for
 custom interceptors to be added.
 
BeanDefinitionDecorators that wish to add an
 interceptor to the enclosing bean should extend
 org.springframework.aop.config.AbstractInterceptorDrivenBeanDefinitionDecorator
 which handles the chaining ensuring that only one proxy is created and that it
 contains all interceptors from the chain.
 
The parser locates a BeanDefinitionDecorator from the
 NamespaceHandler for the namespace in which the custom tag resides.
NamespaceHandler, 
BeanDefinitionParser| Modifier and Type | Method and Description | 
|---|---|
| BeanDefinitionHolder | decorate(Node node,
        BeanDefinitionHolder definition,
        ParserContext parserContext)Parse the specified  Node(either an element or an attribute) and decorate
 the suppliedBeanDefinition,
 returning the decorated definition. | 
BeanDefinitionHolder decorate(Node node, BeanDefinitionHolder definition, ParserContext parserContext)
Node (either an element or an attribute) and decorate
 the supplied BeanDefinition,
 returning the decorated definition.
 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.