public interface TargetSource extends TargetClassAware
TargetSource
は、AOP 呼び出しの現在の「ターゲット」を取得するために使用されます。アラウンドアドバイスがインターセプターチェーン自体を終了することを選択しない場合、リフレクションを介して呼び出されます。TargetSource
が「静的」である場合、常に同じターゲットを返し、AOP フレームワークでの最適化を可能にします。動的ターゲットソースは、プーリング、ホットスワップなどをサポートできます。
通常、アプリケーション開発者は TargetSources
を直接操作する必要はありません。これは AOP フレームワークインターフェースです。
修飾子と型 | メソッドと説明 |
---|---|
java.lang.Object | getTarget() ターゲットインスタンスを返します。 |
java.lang.Class<?> | getTargetClass() この TargetSource によって返されるターゲットの型を返します。 |
boolean | isStatic() getTarget() へのすべての呼び出しは同じオブジェクトを返しますか? |
void | releaseTarget(java.lang.Object target) getTarget() メソッドから取得した特定のターゲットオブジェクトがあれば解放します。 |
@Nullable java.lang.Class<?> getTargetClass()
TargetSource
によって返されるターゲットの型を返します。null
を返すことができますが、TargetSource
の特定の使用箇所は、事前定義されたターゲットクラスでのみ機能する場合があります。
TargetClassAware
の getTargetClass
TargetSource
によって返されるターゲットの型 boolean isStatic()
getTarget()
へのすべての呼び出しは同じオブジェクトを返しますか? その場合、releaseTarget(Object)
を呼び出す必要はなく、AOP フレームワークは getTarget()
の戻り値をキャッシュできます。
true
(ターゲットが不変の場合)getTarget()
@Nullable java.lang.Object getTarget() throws java.lang.Exception
null
java.lang.Exception
- ターゲットオブジェクトを解決できない場合 void releaseTarget(java.lang.Object target) throws java.lang.Exception
getTarget()
メソッドから取得した特定のターゲットオブジェクトがあれば解放します。target
- getTarget()
の呼び出しから取得したオブジェクト java.lang.Exception
- オブジェクトを解放できない場合