パッケージ jakarta.interceptor

インターフェース InvocationContext


  • public interface InvocationContext
    インターセプターメソッドが呼び出しチェーンの動作を制御できるようにするインターセプトされた呼び出しと操作に関するコンテキスト情報を公開します。
    
        @AroundInvoke
        public Object logInvocation(InvocationContext ctx) throws Exception {
           String class = ctx.getMethod().getDeclaringClass().getName();
           String method = ctx.getMethod().getName();
           Logger.global.entering(class, method, ctx.getParameters());
           try {
              Object result = ctx.proceed();
              Logger.global.exiting(class, method, result);
              return result;
           }
           catch (Exception e) {
              Logger.global.throwing(class, method, e);
              throw e;
           }
    
        }
    
     
    導入:
    Jakarta Interceptors 1.0
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   抽象メソッド  
      修飾子と型 メソッド 説明
      ConstructorSE<?>getConstructor()
      AroundConstruct インターセプターメソッドが呼び出されたターゲットクラスのコンストラクターを返します。
      MapSE<StringSE,​ObjectSE>getContextData()
      インターセプターが、呼び出しチェーン内の別のインターセプター、ビジネスメソッド、/ または Web サービスエンドポイントによる呼び出しに関連付けられたデータを取得または更新できるようにします。
      MethodSEgetMethod()
      インターセプターが呼び出されたターゲットクラスのメソッドを返します。
      ObjectSE[]getParameters()
      ターゲットクラスのメソッドまたはコンストラクターに渡されるパラメーター値を返します。
      ObjectSEgetTarget()
      ターゲットインスタンスを返します。
      ObjectSEgetTimer()
      ターゲットクラスでのタイムアウトメソッド呼び出しに関連付けられたタイマーオブジェクトを返します。AroundTimeout 以外のインターセプターメソッド型の場合は null 値を返します。
      ObjectSEproceed()
      インターセプターチェーンの次のインターセプターに進みます。
      voidsetParameters​(ObjectSE[] params)
      ターゲットクラスのメソッドまたはコンストラクターに渡されるパラメーター値を設定します。
    • メソッドの詳細

      • getTarget

        ObjectSE getTarget()
        ターゲットインスタンスを返します。AroundConstruct ライフサイクルコールバックインターセプターメソッドの場合、getTarget メソッドは、proceed() メソッドの前に呼び出された場合に null を返します。
        戻り値:
        ターゲットインスタンス
      • getTimer

        ObjectSE getTimer()
        ターゲットクラスでのタイムアウトメソッド呼び出しに関連付けられたタイマーオブジェクトを返します。AroundTimeout 以外のインターセプターメソッド型の場合は null 値を返します。例: Jakarta Enterprise Beans コンポーネントのタイムアウトに関連付けられている場合、このメソッドは jakarta.ejb.Timer を返します。
        戻り値:
        タイマーオブジェクトまたは null 値
        導入:
        Jakarta Interceptors 1.1
      • getMethod

        MethodSE getMethod()
        インターセプターが呼び出されたターゲットクラスのメソッドを返します。ターゲットクラスで宣言された(またはスーパークラスから継承された)対応するライフサイクルコールバックメソッドがないライフサイクルコールバックインターセプターまたは AroundConstruct ライフサイクルコールバックインターセプターメソッドで null を返します。
        戻り値:
        メソッド、または null 値
      • getConstructor

        ConstructorSE<?> getConstructor()
        AroundConstruct インターセプターメソッドが呼び出されたターゲットクラスのコンストラクターを返します。AroundConstruct インターセプターメソッド以外のインターセプターメソッド型の場合は null を返します。
        戻り値:
        コンストラクター、または null 値
      • getParameters

        ObjectSE[] getParameters()
        ターゲットクラスのメソッドまたはコンストラクターに渡されるパラメーター値を返します。setParameters(java.lang.Object[]) が呼び出された場合、getParameters はパラメーターが設定された値を返します。
        戻り値:
        配列としてのパラメーター値
        例外:
        IllegalStateExceptionSE - AroundConstruct コールバックではないライフサイクルコールバックメソッド内で呼び出された場合。
      • setParameters

        void setParameters​(ObjectSE[] params)
        ターゲットクラスのメソッドまたはコンストラクターに渡されるパラメーター値を設定します。
        パラメーター:
        params - 配列としてのパラメーター値
        例外:
        IllegalStateExceptionSE - AroundConstruct コールバックではないライフサイクルコールバックメソッド内で呼び出された場合。
        IllegalArgumentExceptionSE - 指定されたパラメーター値の型がメソッドまたはコンストラクターパラメーターの型と一致しない場合、または提供されたパラメーターの数がメソッドまたはコンストラクターパラメーターの数と等しくない場合(最後のパラメーターが型 T の vararg パラメーターである場合)型 T[] のパラメーターと同等であると見なされます)。
      • getContextData

        MapSE<StringSE,​ObjectSE> getContextData()
        インターセプターが、呼び出しチェーン内の別のインターセプター、ビジネスメソッド、/ または Web サービスエンドポイントによる呼び出しに関連付けられたデータを取得または更新できるようにします。
        戻り値:
        この呼び出しまたはライフサイクルコールバックに関連付けられたコンテキストデータ。コンテキストデータがない場合は、空の Map<String,Object> オブジェクトが返されます。
      • proceed

        ObjectSE proceed()
                throws ExceptionSE
        インターセプターチェーンの次のインターセプターに進みます。アラウンドインボークまたはアラウンドタイムアウトインターセプターメソッドの場合、チェーンの最後のインターセプターメソッドで proceed を呼び出すと、ターゲットクラスメソッドが呼び出されます。AroundConstruct ライフサイクルコールバックインターセプターメソッドの場合、チェーンの最後のインターセプターメソッドで proceed を呼び出すと、ターゲットインスタンスが作成されます。他のすべてのライフサイクルコールバックインターセプターメソッドの場合、ターゲットクラスにコールバックメソッドが定義されていない場合、チェーンの最後のインターセプターメソッドでの proceed の呼び出しは何もしません。

        次に呼び出されたメソッドの結果を返します。メソッドの戻り値の型が void の場合は null 値を返します。

        戻り値:
        チェーンの次のメソッドの戻り値
        例外:
        ExceptionSE - コールスタックのターゲットメソッドまたはインターセプターメソッドによってスローされた場合