パッケージ 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 サービスエンドポイントによる呼び出しに関連付けられたデータを取得または更新できるようにします。MethodSE
getMethod()
インターセプターが呼び出されたターゲットクラスのメソッドを返します。ObjectSE[]
getParameters()
ターゲットクラスのメソッドまたはコンストラクターに渡されるパラメーター値を返します。ObjectSE
getTarget()
ターゲットインスタンスを返します。ObjectSE
getTimer()
ターゲットクラスでのタイムアウトメソッド呼び出しに関連付けられたタイマーオブジェクトを返します。AroundTimeout
以外のインターセプターメソッド型の場合は null 値を返します。ObjectSE
proceed()
インターセプターチェーンの次のインターセプターに進みます。void
setParameters(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
- コールスタックのターゲットメソッドまたはインターセプターメソッドによってスローされた場合