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.
- Since:
- 2.0
- Author:
- Rob Harrop
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondecorate(Node node, BeanDefinitionHolder definition, ParserContext parserContext) Parse the specifiedNode(either an element or an attribute) and decorate the suppliedBeanDefinition, returning the decorated definition.
-
Method Details
-
decorate
BeanDefinitionHolder decorate(Node node, BeanDefinitionHolder definition, ParserContext parserContext) Parse the specifiedNode(either an element or an attribute) and decorate the suppliedBeanDefinition, 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
ParserContextcan be used to register any additional beans needed to support the main definition.
-