Class DelegatingIntroductionInterceptor
java.lang.Object
org.springframework.aop.support.IntroductionInfoSupport
org.springframework.aop.support.DelegatingIntroductionInterceptor
- All Implemented Interfaces:
- Serializable, Advice, Interceptor, MethodInterceptor, DynamicIntroductionAdvice, IntroductionInfo, IntroductionInterceptor
public class DelegatingIntroductionInterceptor
extends IntroductionInfoSupport
implements IntroductionInterceptor
Convenient implementation of the
IntroductionInterceptor interface.
Subclasses merely need to extend this class and implement the interfaces to be introduced themselves. In this case the delegate is the subclass instance itself. Alternatively a separate delegate may implement the interface, and be set via the delegate bean property.
Delegates or subclasses may implement any number of interfaces. All interfaces except IntroductionInterceptor are picked up from the subclass or delegate by default.
The suppressInterface method can be used to suppress interfaces
implemented by the delegate but which should not be introduced to the owning
AOP proxy.
An instance of this class is serializable if the delegate is.
- Since:
- 16.11.2003
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
- 
Field SummaryFields inherited from class IntroductionInfoSupportpublishedInterfaces
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedConstruct a new DelegatingIntroductionInterceptor.DelegatingIntroductionInterceptor(Object delegate) Construct a new DelegatingIntroductionInterceptor, providing a delegate that implements the interfaces to be introduced.
- 
Method SummaryModifier and TypeMethodDescriptionProceed with the suppliedMethodInterceptor.Subclasses may need to override this if they want to perform custom behaviour in around advice.Methods inherited from class IntroductionInfoSupportgetInterfaces, implementInterfacesOnObject, implementsInterface, isMethodOnIntroducedInterface, suppressInterfaceMethods inherited from class Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface DynamicIntroductionAdviceimplementsInterface
- 
Constructor Details- 
DelegatingIntroductionInterceptorConstruct a new DelegatingIntroductionInterceptor, providing a delegate that implements the interfaces to be introduced.- Parameters:
- delegate- the delegate that implements the introduced interfaces
 
- 
DelegatingIntroductionInterceptorprotected DelegatingIntroductionInterceptor()Construct a new DelegatingIntroductionInterceptor. The delegate will be the subclass, which must implement additional interfaces.
 
- 
- 
Method Details- 
invokeSubclasses may need to override this if they want to perform custom behaviour in around advice. However, subclasses should invoke this method, which handles introduced interfaces and forwarding to the target.- Specified by:
- invokein interface- MethodInterceptor
- Parameters:
- mi- the method invocation joinpoint
- Returns:
- the result of the call to Joinpoint.proceed(); might be intercepted by the interceptor
- Throws:
- Throwable- if the interceptors or the target object throws an exception
 
- 
doProceedProceed with the suppliedMethodInterceptor. Subclasses can override this method to intercept method invocations on the target object which is useful when an introduction needs to monitor the object that it is introduced into. This method is never called forMethodInvocationson the introduced interfaces.- Throws:
- Throwable
 
 
-