public abstract class

AbstractInterceptorDrivenBeanDefinitionDecorator

extends Object
implements BeanDefinitionDecorator
java.lang.Object
   ↳ org.springframework.aop.config.AbstractInterceptorDrivenBeanDefinitionDecorator

Class Overview

Base implementation for BeanDefinitionDecorators wishing to add an org.aopalliance.intercept.MethodInterceptor 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.

See Also
  • org.aopalliance.intercept.MethodInterceptor

Summary

Public Constructors
AbstractInterceptorDrivenBeanDefinitionDecorator()
Public Methods
final BeanDefinitionHolder decorate(Node node, BeanDefinitionHolder definitionHolder, ParserContext parserContext)
Parse the specified Node (either an element or an attribute) and decorate the supplied BeanDefinition, returning the decorated definition.
Protected Methods
abstract 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.
String getInterceptorNameSuffix(BeanDefinition interceptorDefinition)
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.beans.factory.xml.BeanDefinitionDecorator

Public Constructors

public AbstractInterceptorDrivenBeanDefinitionDecorator ()

Public Methods

public final BeanDefinitionHolder decorate (Node node, BeanDefinitionHolder definitionHolder, ParserContext parserContext)

Parse the specified 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 BeanFactory.

The supplied ParserContext can be used to register any additional beans needed to support the main definition.

Protected Methods

protected abstract 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.

protected String getInterceptorNameSuffix (BeanDefinition interceptorDefinition)