クラス DelegatingIntroductionInterceptor

java.lang.ObjectSE
org.springframework.aop.support.IntroductionInfoSupport
org.springframework.aop.support.DelegatingIntroductionInterceptor
実装されたすべてのインターフェース:
SerializableSEAdviceInterceptorMethodInterceptorDynamicIntroductionAdviceIntroductionInfoIntroductionInterceptor

public class DelegatingIntroductionInterceptor extends IntroductionInfoSupport implements IntroductionInterceptor
IntroductionInterceptor インターフェースの便利な実装。

サブクラスは、このクラスを継承し、自分で導入するインターフェースを実装するだけで済みます。この場合、デリゲートはサブクラスインスタンス自体です。または、別のデリゲートがインターフェースを実装し、デリゲート Bean プロパティを介して設定することもできます。

デリゲートまたはサブクラスは、任意の数のインターフェースを実装できます。IntroductionInterceptor を除くすべてのインターフェースは、デフォルトでサブクラスまたはデリゲートから取得されます。

suppressInterface メソッドは、デリゲートによって実装されたインターフェースを抑制するために使用できますが、所有している AOP プロキシに導入すべきではありません。

デリゲートがシリアライズ可能な場合、このクラスのインスタンスはシリアライズ可能です。

導入:
16.11.2003
作成者:
Rod Johnson, Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • DelegatingIntroductionInterceptor

      public DelegatingIntroductionInterceptor(ObjectSE delegate)
      導入するインターフェースを実装するデリゲートを提供して、新しい DelegatingIntroductionInterceptor を構築します。
      パラメーター:
      delegate - 導入されたインターフェースを実装するデリゲート
    • DelegatingIntroductionInterceptor

      protected DelegatingIntroductionInterceptor()
      新しい DelegatingIntroductionInterceptor を作成します。デリゲートはサブクラスになり、追加のインターフェースを実装する必要があります。
  • メソッドの詳細

    • invoke

      @Nullable public ObjectSE invoke(MethodInvocation mi) throws ThrowableSE
      サブクラスは、アドバイスの前後でカスタム動作を実行する場合、これをオーバーライドする必要がある場合があります。ただし、サブクラスはこのメソッドを呼び出す必要があります。このメソッドは、導入されたインターフェースとターゲットへの転送を処理します。
      次で指定:
      インターフェース MethodInterceptorinvoke 
      パラメーター:
      mi - メソッド呼び出しジョインポイント
      戻り値:
      Joinpoint.proceed() の呼び出しの結果。インターセプターによってインターセプトされる可能性があります
      例外:
      ThrowableSE - インターセプターまたはターゲットオブジェクトが例外をスローする場合
    • doProceed

      @Nullable protected ObjectSE doProceed(MethodInvocation mi) throws ThrowableSE
      付属の MethodInterceptor を続行します。サブクラスは、このメソッドをオーバーライドして、ターゲットオブジェクトでのメソッド呼び出しをインターセプトできます。これは、イントロダクションが導入されるオブジェクトを監視する必要がある場合に役立ちます。このメソッドは、導入されたインターフェースの MethodInvocations に対して呼び出されることはありません。
      例外:
      ThrowableSE