public class DelegatingIntroductionInterceptor extends IntroductionInfoSupport implements IntroductionInterceptor
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.
IntroductionInfoSupport.suppressInterface(java.lang.Class<?>)
,
DelegatePerTargetObjectIntroductionInterceptor
,
Serialized FormpublishedInterfaces
Modifier | Constructor and Description |
---|---|
protected |
DelegatingIntroductionInterceptor()
Construct a new DelegatingIntroductionInterceptor.
|
|
DelegatingIntroductionInterceptor(Object delegate)
Construct a new DelegatingIntroductionInterceptor, providing
a delegate that implements the interfaces to be introduced.
|
Modifier and Type | Method and Description |
---|---|
protected Object |
doProceed(MethodInvocation mi)
Proceed with the supplied
MethodInterceptor . |
Object |
invoke(MethodInvocation mi)
Subclasses may need to override this if they want to perform custom
behaviour in around advice.
|
getInterfaces, implementInterfacesOnObject, implementsInterface, isMethodOnIntroducedInterface, suppressInterface
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
implementsInterface
public DelegatingIntroductionInterceptor(Object delegate)
delegate
- the delegate that implements the introduced interfacesprotected DelegatingIntroductionInterceptor()
@Nullable public Object invoke(MethodInvocation mi) throws Throwable
invoke
in interface MethodInterceptor
mi
- the method invocation joinpointJoinpoint.proceed()
;
might be intercepted by the interceptorThrowable
- if the interceptors or the target object
throws an exception@Nullable protected Object doProceed(MethodInvocation mi) throws Throwable
MethodInterceptor
.
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 for
MethodInvocations
on the introduced interfaces.Throwable