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
ParserContext
can be used to register any additional beans needed to support the main definition.
-