Package org.aopalliance.intercept
Interface MethodInterceptor
- All Superinterfaces:
Advice
,Interceptor
- All Known Subinterfaces:
IntroductionInterceptor
- All Known Implementing Classes:
AbstractMonitoringInterceptor
,AbstractTraceInterceptor
,AfterReturningAdviceInterceptor
,AnnotationAsyncExecutionInterceptor
,AspectJAfterAdvice
,AspectJAfterThrowingAdvice
,AspectJAroundAdvice
,AsyncExecutionInterceptor
,CacheInterceptor
,ConcurrencyThrottleInterceptor
,CustomizableTraceInterceptor
,DebugInterceptor
,DelegatePerTargetObjectIntroductionInterceptor
,DelegatingIntroductionInterceptor
,EventPublicationInterceptor
,ExposeInvocationInterceptor
,JCacheInterceptor
,MBeanClientInterceptor
,MBeanProxyFactoryBean
,MethodBeforeAdviceInterceptor
,MethodValidationInterceptor
,OpenSessionInterceptor
,PerformanceMonitorInterceptor
,PersistenceExceptionTranslationInterceptor
,SimpleTraceInterceptor
,ThrowsAdviceInterceptor
,TransactionInterceptor
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
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 TypeMethodDescriptioninvoke
(MethodInvocation invocation) Implement this method to perform extra treatments before and after the invocation.
-
Method Details
-
invoke
Implement this method to perform extra treatments before and after the invocation. Polite implementations would certainly like to invokeJoinpoint.proceed()
.- Parameters:
invocation
- 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
-