Top Description Methods
org.aopalliance.intercept

public Interface MethodInterceptor

extends Interceptor
Known Direct Subinterfaces
org.springframework.aop.IntroductionInterceptor
Known Direct Implementers
org.springframework.aop.aspectj.AspectJAfterAdvice, org.springframework.aop.aspectj.AspectJAfterThrowingAdvice, org.springframework.aop.aspectj.AspectJAroundAdvice, org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor, org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor, org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor, org.springframework.aop.interceptor.AbstractTraceInterceptor, org.springframework.aop.interceptor.AsyncExecutionInterceptor, org.springframework.aop.interceptor.ConcurrencyThrottleInterceptor, org.springframework.aop.interceptor.ExposeBeanNameAdvisors.ExposeBeanNameInterceptor, org.springframework.aop.interceptor.ExposeInvocationInterceptor
Annotations
@FunctionalInterface
Imports
javax.annotation.Nonnull, .Nullable

Intercepts calls on an interface on its way to the target. These are nested "on top" of the target.

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;
  }
}
Author
Rod Johnson

Method Summary

Modifier and TypeMethod and Description
public Object

Returns:

the result of the call to Joinpoint#proceed(); might be intercepted by the interceptor
invoke
(MethodInvocation
the method invocation joinpoint
invocation
)

Implement this method to perform extra treatments before and after the invocation.

Method Detail

invokeback to summary
public Object invoke(MethodInvocation invocation) throws Throwable

Implement this method to perform extra treatments before and after the invocation. Polite implementations would certainly like to invoke Joinpoint#proceed().

Parameters
invocation:MethodInvocation

the method invocation joinpoint

Returns:Object

the result of the call to Joinpoint#proceed(); might be intercepted by the interceptor

Annotations
@Nullable
Exceptions
Throwable:
if the interceptors or the target object throws an exception