public interface BeanDefinitionDecorator
DefaultBeanDefinitionDocumentReaderto handle custom, nested (directly under a
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
required and to transform the
BeanDefinition of the enclosing
<bean> tag, potentially even returning a completely different
BeanDefinition to replace the
BeanDefinitionDecorators should be aware that
they may be part of a chain. In particular, a
be aware that a previous
BeanDefinitionDecorator may have replaced the
BeanDefinition with a
ProxyFactoryBean definition allowing for
interceptors to be added.
BeanDefinitionDecorators that wish to add an
interceptor to the enclosing bean should extend
which handles the chaining ensuring that only one proxy is created and that it
contains all interceptors from the chain.
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
ParserContext can be used to register any additional
beans needed to support the main definition.