public abstract class AbstractInterceptorDrivenBeanDefinitionDecorator extends Object implements org.springframework.beans.factory.xml.BeanDefinitionDecorator
BeanDefinitionDecorators
wishing to add an interceptor
to the resulting bean.
This base class controls the creation of the ProxyFactoryBean
bean definition
and wraps the original as an inner-bean definition for the target
property
of ProxyFactoryBean
.
Chaining is correctly handled, ensuring that only one ProxyFactoryBean
definition
is created. If a previous BeanDefinitionDecorator
already created the ProxyFactoryBean
then the
interceptor is simply added to the existing definition.
Subclasses have only to create the BeanDefinition
to the interceptor that
they wish to add.
MethodInterceptor
Constructor and Description |
---|
AbstractInterceptorDrivenBeanDefinitionDecorator() |
Modifier and Type | Method and Description |
---|---|
protected abstract org.springframework.beans.factory.config.BeanDefinition |
createInterceptorDefinition(Node node)
Subclasses should implement this method to return the
BeanDefinition
for the interceptor they wish to apply to the bean being decorated. |
org.springframework.beans.factory.config.BeanDefinitionHolder |
decorate(Node node,
org.springframework.beans.factory.config.BeanDefinitionHolder definitionHolder,
org.springframework.beans.factory.xml.ParserContext parserContext) |
protected String |
getInterceptorNameSuffix(org.springframework.beans.factory.config.BeanDefinition interceptorDefinition) |
public AbstractInterceptorDrivenBeanDefinitionDecorator()
public final org.springframework.beans.factory.config.BeanDefinitionHolder decorate(Node node, org.springframework.beans.factory.config.BeanDefinitionHolder definitionHolder, org.springframework.beans.factory.xml.ParserContext parserContext)
decorate
in interface org.springframework.beans.factory.xml.BeanDefinitionDecorator
protected String getInterceptorNameSuffix(org.springframework.beans.factory.config.BeanDefinition interceptorDefinition)
protected abstract org.springframework.beans.factory.config.BeanDefinition createInterceptorDefinition(Node node)
BeanDefinition
for the interceptor they wish to apply to the bean being decorated.