Package org.springframework.aop.support
Class DelegatePerTargetObjectIntroductionInterceptor
java.lang.Object
org.springframework.aop.support.IntroductionInfoSupport
org.springframework.aop.support.DelegatePerTargetObjectIntroductionInterceptor
- All Implemented Interfaces:
- Serializable,- Advice,- Interceptor,- MethodInterceptor,- DynamicIntroductionAdvice,- IntroductionInfo,- IntroductionInterceptor
public class DelegatePerTargetObjectIntroductionInterceptor
extends IntroductionInfoSupport
implements IntroductionInterceptor
Convenient implementation of the
 
IntroductionInterceptor interface.
 This differs from DelegatingIntroductionInterceptor in that a single
 instance of this class can be used to advise multiple target objects, and each target
 object will have its own delegate (whereas DelegatingIntroductionInterceptor
 shares the same delegate, and hence the same state across all targets).
 
The suppressInterface method can be used to suppress interfaces
 implemented by the delegate class but which should not be introduced to the
 owning AOP proxy.
 
An instance of this class is serializable if the delegates are.
Note: There are some implementation similarities between this class and
 DelegatingIntroductionInterceptor that suggest a possible refactoring
 to extract a common ancestor class in the future.
- Since:
- 2.0
- Author:
- Adrian Colyer, Juergen Hoeller
- See Also:
- 
Field SummaryFields inherited from class org.springframework.aop.support.IntroductionInfoSupportpublishedInterfaces
- 
Constructor SummaryConstructorsConstructorDescriptionDelegatePerTargetObjectIntroductionInterceptor(Class<?> defaultImplType, Class<?> interfaceType) 
- 
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 org.springframework.aop.support.IntroductionInfoSupportgetInterfaces, implementInterfacesOnObject, implementsInterface, isMethodOnIntroducedInterface, suppressInterfaceMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.aop.DynamicIntroductionAdviceimplementsInterface
- 
Constructor Details- 
DelegatePerTargetObjectIntroductionInterceptor
 
- 
- 
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
 
 
-