パッケージ 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
  • 方法の概要

    修飾子と型
    メソッド
    説明
    AroundConstruct インターセプターメソッドが呼び出されたターゲットクラスのコンストラクターを返します。
    インターセプターが、呼び出しチェーン内の別のインターセプター、ビジネスメソッド、/ または Web サービスエンドポイントによる呼び出しに関連付けられたデータを取得または更新できるようにします。
    default <T extends AnnotationSE>
    T
    getInterceptorBinding(ClassSE<T> annotationType)
    インターセプターバインディングアノテーションの完全なセットに存在する、指定された型の単一のアノテーションを返します。
    呼び出しがインターセプトされているメソッドまたはコンストラクターのインターセプターバインディングアノテーションのセットを返します。
    default <T extends AnnotationSE>
    SetSE<T>
    getInterceptorBindings(ClassSE<T> annotationType)
    インターセプタバインディングアノテーションの完全なセットに存在する、指定された型のすべてのアノテーションを返します。
    インターセプターが呼び出されたターゲットクラスのメソッドを返します。
    ターゲットクラスのメソッドまたはコンストラクターに渡されるパラメーター値を返します。
    ターゲットインスタンスを返します。
    ターゲットクラスでのタイムアウトメソッド呼び出しに関連付けられたタイマーオブジェクトを返します。AroundTimeout 以外のインターセプターメソッド型の場合は null 値を返します。
    インターセプターチェーンの次のインターセプターに進みます。
    void
    ターゲットクラスのメソッドまたはコンストラクターに渡されるパラメーター値を設定します。
  • 方法の詳細

    • 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 - コールスタックのターゲットメソッドまたはインターセプターメソッドによってスローされた場合
    • getInterceptorBindings

      default SetSE<AnnotationSE> getInterceptorBindings()
      呼び出しがインターセプトされているメソッドまたはコンストラクターのインターセプターバインディングアノテーションのセットを返します。ターゲットメソッドまたはターゲットコンストラクターがない場合は、ターゲットクラスに適用されたインターセプターバインディングアノテーションが返されます。

      継承されたインターセプターバインディングアノテーション、推移的なインターセプターバインディングアノテーション、異なるインターセプターメソッド型のインターセプターを関連付けるインターセプターバインディングアノテーション、およびインターセプターを関連付けないインターセプターバインディングアノテーションを含む、すべてのインターセプターバインディングアノテーションが返されます。

      インターセプターバインディングアノテーションが適用されておらず、すべてのインターセプターが @Interceptors アノテーションを使用して関連付けられている場合は、空のセットを返します。

      戻り値:
      インターセプタバインディングアノテーションの不変セット、決して null
      導入:
      Jakarta Interceptors 2.2
    • getInterceptorBinding

      default <T extends AnnotationSE> T getInterceptorBinding(ClassSE<T> annotationType)
      インターセプターバインディングアノテーションの完全なセットに存在する、指定された型の単一のアノテーションを返します。

      インターセプタバインディングアノテーションの完全なセットに指定された型のアノテーションが含まれていない場合は、null を返します。

      反復可能なSEインターセプタバインディングアノテーションの場合は、代わりに getInterceptorBindings(Class) を使用する必要があります。

      パラメーター:
      annotationType - インターセプタバインディングアノテーションの型。null であってはなりません
      戻り値:
      指定された型のインターセプタバインディングアノテーション。null の場合があります
      導入:
      Jakarta Interceptors 2.2
    • getInterceptorBindings

      default <T extends AnnotationSE> SetSE<T> getInterceptorBindings(ClassSE<T> annotationType)
      インターセプタバインディングアノテーションの完全なセットに存在する、指定された型のすべてのアノテーションを返します。

      インターセプタバインディングアノテーションの完全なセットに指定された型のアノテーションが含まれていない場合は、空のセットを返します。

      パラメーター:
      annotationType - インターセプタバインディングアノテーションの型は、null であってはなりません
      戻り値:
      指定された型のインターセプタバインディングアノテーションの不変セット、決して null
      導入:
      Jakarta Interceptors 2.2