@FunctionalInterface public interface MethodInterceptor extends Interceptor
The user should implement the invoke(MethodInvocation)
method to modify the original behavior. E.g. the following class
implements a tracing interceptor (traces all the calls on the
intercepted method(s)):
class TracingInterceptor implements MethodInterceptor { Object invoke(MethodInvocation i) throws Throwable { System.out.println("method "+i.getMethod()+" is called on "+ i.getThis()+" with args "+i.getArguments()); Object ret=i.proceed(); System.out.println("method "+i.getMethod()+" returns "+ret); return ret; } }
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
invoke(MethodInvocation invocation)
Implement this method to perform extra treatments before and
after the invocation.
|
@Nullable java.lang.Object invoke(MethodInvocation invocation) throws java.lang.Throwable
Joinpoint.proceed()
.invocation
- the method invocation joinpointJoinpoint.proceed()
;
might be intercepted by the interceptorjava.lang.Throwable
- if the interceptors or the target object
throws an exception