クラス ControlFlowPointcut
java.lang.ObjectSE
org.springframework.aop.support.ControlFlowPointcut
- 実装されたすべてのインターフェース:
SerializableSE
、ClassFilter
、MethodMatcher
、Pointcut
public class ControlFlowPointcut
extends ObjectSE
implements Pointcut, ClassFilter, MethodMatcher, SerializableSE
単純な cflow -style ポイントカットで使用するポイントカットおよびメソッドマッチャー。このようなポイントカットの評価は、通常のポイントカットの評価より 10-15 倍遅くなりますが、場合によっては便利です。
- 作成者:
- Rod Johnson, Rob Harrop, Juergen Hoeller, Sam Brannen
- 関連事項:
フィールドサマリー
インターフェース org.springframework.aop.ClassFilter から継承されたフィールド
TRUE
インターフェース org.springframework.aop.MethodMatcher から継承されたフィールド
TRUE
コンストラクターのサマリー
コンストラクター説明ControlFlowPointcut
(ClassSE<?> clazz) そのクラスのすべての制御フローに一致する新しいポイントカットを作成します。ControlFlowPointcut
(ClassSE<?> clazz, StringSE methodName) 指定されたクラスの指定されたメソッドのすべての呼び出しに一致する新しいポイントカットを作成します。メソッドのサマリー
修飾子と型メソッド説明boolean
このポイントカットの ClassFilter を返します。int
最適化のために、何回起動したかを知ることは有用です。このポイントカットの MethodMatcher を返します。int
hashCode()
boolean
この MethodMatcher は動的ですか、つまり、2-arg matches メソッドがtrue
を返す場合でも、実行時にMethodMatcher.matches(java.lang.reflect.Method, Class, Object[])
メソッドで最後の呼び出しを行う必要がありますか?boolean
サブクラスはこれをオーバーライドして、フィルタリング(およびパフォーマンス)を向上させることができます。boolean
一部の候補クラスを除外することが可能な場合、サブクラスはこれをオーバーライドできます。boolean
このメソッドに静的に一致している必要があるランタイム(動的)一致があるかどうかを確認します。toString()
コンストラクターの詳細
ControlFlowPointcut
そのクラスのすべての制御フローに一致する新しいポイントカットを作成します。- パラメーター:
clazz
- クラブ
ControlFlowPointcut
指定されたクラスの指定されたメソッドのすべての呼び出しに一致する新しいポイントカットを作成します。メソッド名が指定されていない場合、指定されたクラスのすべての制御フローに一致します。- パラメーター:
clazz
- クラブmethodName
- メソッドの名前 (null
の場合があります)
メソッドの詳細
matches
サブクラスはこれをオーバーライドして、フィルタリング(およびパフォーマンス)を向上させることができます。- 次で指定:
- インターフェース
ClassFilter
のmatches
- パラメーター:
clazz
- 候補ターゲットクラス- 戻り値:
- アドバイスが与えられたターゲットクラスに適用されるべきかどうか
matches
一部の候補クラスを除外することが可能な場合、サブクラスはこれをオーバーライドできます。- 次で指定:
- インターフェース
MethodMatcher
のmatches
- パラメーター:
method
- 候補メソッドtargetClass
- ターゲットクラス- 戻り値:
- このメソッドが静的に一致するかどうか
isRuntime
public boolean isRuntime()インターフェースからコピーされた説明:MethodMatcher
この MethodMatcher は動的ですか、つまり、2-arg matches メソッドがtrue
を返す場合でも、実行時にMethodMatcher.matches(java.lang.reflect.Method, Class, Object[])
メソッドで最後の呼び出しを行う必要がありますか?AOP プロキシの作成時に呼び出すことができ、各メソッド呼び出しの前に再度呼び出す必要はありません。
- 次で指定:
- インターフェース
MethodMatcher
のisRuntime
- 戻り値:
- 静的マッチングに合格した場合、3 引数
MethodMatcher.matches(java.lang.reflect.Method, Class, Object[])
メソッドによるランタイムマッチングが必要かどうか
matches
インターフェースからコピーされた説明:MethodMatcher
このメソッドに静的に一致している必要があるランタイム(動的)一致があるかどうかを確認します。このメソッドが呼び出されるのは、2-arg matches メソッドが特定のメソッドとターゲットクラスの
true
を返し、MethodMatcher.isRuntime()
メソッドがtrue
を返す場合のみです。アドバイスが実行される可能性のある直前に呼び出され、after any アドバイスはアドバイスチェーンの前に実行されました。- 次で指定:
- インターフェース
MethodMatcher
のmatches
- パラメーター:
method
- 候補メソッドtargetClass
- ターゲットクラスargs
- メソッドの引数- 戻り値:
- ランタイム一致があるかどうか
- 関連事項:
getEvaluations
public int getEvaluations()最適化のために、何回起動したかを知ることは有用です。getClassFilter
インターフェースからコピーされた説明:Pointcut
このポイントカットの ClassFilter を返します。- 次で指定:
- インターフェース
Pointcut
のgetClassFilter
- 戻り値:
- ClassFilter (非
null
)
getMethodMatcher
インターフェースからコピーされた説明:Pointcut
このポイントカットの MethodMatcher を返します。- 次で指定:
- インターフェース
Pointcut
のgetMethodMatcher
- 戻り値:
- MethodMatcher (非
null
)
equals
hashCode
public int hashCode()toString