インターフェース Interceptor
- すべてのスーパーインターフェース:
Advice
- すべての既知のサブインターフェース:
ConstructorInterceptor
、IntroductionInterceptor
、MethodInterceptor
- すべての既知の実装クラス:
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
このインターフェースは、汎用インターセプターを表します。
汎用インターセプターは、基本プログラム内で発生するランタイムイベントをインターセプトできます。これらのイベントは、ジョインポイントによって(具体化されて)実現されます。ランタイムジョインポイントは、呼び出し、フィールドアクセス、例外などです。
このインターフェースは直接使用されません。サブインターフェースを使用して特定のイベントをインターセプトします。たとえば、次のクラスは、デバッガーを実装するために特定のインターセプターを実装しています。
class DebuggingInterceptor implements MethodInterceptor, ConstructorInterceptor { 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(); } void debug(AccessibleObject ao, Object this, Object value) { ... } }
- 作成者:
- Rod Johnson
- 関連事項: