接口 Interceptor
- 所有超级接口:
Advice
- 所有已知实现类:
AbstractMonitoringInterceptor
,AbstractRemoteSlsbInvokerInterceptor
,AbstractSlsbInvokerInterceptor
,AbstractTraceInterceptor
,AfterReturningAdviceInterceptor
,AnnotationAsyncExecutionInterceptor
,AspectJAfterAdvice
,AspectJAfterThrowingAdvice
,AspectJAroundAdvice
,AsyncExecutionInterceptor
,BurlapClientInterceptor
,BurlapProxyFactoryBean
,CacheInterceptor
,ConcurrencyThrottleInterceptor
,CustomizableTraceInterceptor
,DebugInterceptor
,DelegatePerTargetObjectIntroductionInterceptor
,DelegatingIntroductionInterceptor
,EventPublicationInterceptor
,ExposeInvocationInterceptor
,HessianClientInterceptor
,HessianProxyFactoryBean
,HibernateInterceptor
,HttpInvokerClientInterceptor
,HttpInvokerProxyFactoryBean
,JamonPerformanceMonitorInterceptor
,JaxWsPortClientInterceptor
,JaxWsPortProxyFactoryBean
,JCacheInterceptor
,JmsInvokerClientInterceptor
,JmsInvokerProxyFactoryBean
,JndiRmiClientInterceptor
,JndiRmiProxyFactoryBean
,LocalSlsbInvokerInterceptor
,LocalStatelessSessionProxyFactoryBean
,MBeanClientInterceptor
,MBeanProxyFactoryBean
,MethodBeforeAdviceInterceptor
,MethodValidationInterceptor
,OpenSessionInterceptor
,OpenSessionInterceptor
,OpenSessionInterceptor
,PerformanceMonitorInterceptor
,PersistenceExceptionTranslationInterceptor
,RemoteInvocationTraceInterceptor
,RmiClientInterceptor
,RmiProxyFactoryBean
,SimpleRemoteSlsbInvokerInterceptor
,SimpleRemoteStatelessSessionProxyFactoryBean
,SimpleTraceInterceptor
,ThrowsAdviceInterceptor
,TransactionInterceptor
public interface Interceptor extends Advice
This interface represents a generic interceptor.A generic interceptor can intercept runtime events that occur within a base program. Those events are materialized by (reified in) joinpoints. Runtime joinpoints can be invocations, field access, exceptions...
This interface is not used directly. Use the sub-interfaces to intercept specific events. For instance, the following class implements some specific interceptors in order to implement a debugger:
class DebuggingInterceptor implements MethodInterceptor, ConstructorInterceptor, FieldInterceptor { Object invoke(MethodInvocation i) throws Throwable { debug(i.getMethod(), i.getThis(), i.getArgs()); return i.proceed(); } Object construct(ConstructorInvocation i) throws Throwable { debug(i.getConstructor(), i.getThis(), i.getArgs()); return i.proceed(); } Object get(FieldAccess fa) throws Throwable { debug(fa.getField(), fa.getThis(), null); return fa.proceed(); } Object set(FieldAccess fa) throws Throwable { debug(fa.getField(), fa.getThis(), fa.getValueToSet()); return fa.proceed(); } void debug(AccessibleObject ao, Object this, Object value) { ... } }
- 作者:
- Rod Johnson
- 另请参阅:
Joinpoint