spring-aop

org.springframework.aop.config
Class AbstractInterceptorDrivenBeanDefinitionDecorator

java.lang.Object
  extended by org.springframework.aop.config.AbstractInterceptorDrivenBeanDefinitionDecorator
All Implemented Interfaces:
org.springframework.beans.factory.xml.BeanDefinitionDecorator

public abstract class AbstractInterceptorDrivenBeanDefinitionDecorator
extends java.lang.Object
implements org.springframework.beans.factory.xml.BeanDefinitionDecorator

Base implementation for 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.

Since:
2.0
Author:
Rob Harrop, Juergen Hoeller
See Also:
MethodInterceptor

Constructor Summary
AbstractInterceptorDrivenBeanDefinitionDecorator()
           
 
Method Summary
protected abstract  org.springframework.beans.factory.config.BeanDefinition createInterceptorDefinition(org.w3c.dom.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(org.w3c.dom.Node node, org.springframework.beans.factory.config.BeanDefinitionHolder definitionHolder, org.springframework.beans.factory.xml.ParserContext parserContext)
           
protected  java.lang.String getInterceptorNameSuffix(org.springframework.beans.factory.config.BeanDefinition interceptorDefinition)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractInterceptorDrivenBeanDefinitionDecorator

public AbstractInterceptorDrivenBeanDefinitionDecorator()
Method Detail

decorate

public final org.springframework.beans.factory.config.BeanDefinitionHolder decorate(org.w3c.dom.Node node,
                                                                                    org.springframework.beans.factory.config.BeanDefinitionHolder definitionHolder,
                                                                                    org.springframework.beans.factory.xml.ParserContext parserContext)
Specified by:
decorate in interface org.springframework.beans.factory.xml.BeanDefinitionDecorator

getInterceptorNameSuffix

protected java.lang.String getInterceptorNameSuffix(org.springframework.beans.factory.config.BeanDefinition interceptorDefinition)

createInterceptorDefinition

protected abstract org.springframework.beans.factory.config.BeanDefinition createInterceptorDefinition(org.w3c.dom.Node node)
Subclasses should implement this method to return the BeanDefinition for the interceptor they wish to apply to the bean being decorated.


spring-aop