public interface MethodMatcherPointcut の一部: ターゲットメソッドがアドバイスの対象かどうかをチェックします。MethodMatcher は静的に、または実行時に (動的に)評価できます。静的マッチングには、メソッドおよび(場合によっては)メソッド属性が含まれます。動的マッチングでは、特定の呼び出しの引数、ジョインポイントに適用される以前のアドバイスの実行による影響も利用できます。
 実装が isRuntime() メソッドから false を返す場合、評価は静的に実行でき、引数が何であっても、結果はこのメソッドのすべての呼び出しで同じになります。つまり、isRuntime() メソッドが false を返す場合、3 引数の matches(java.lang.reflect.Method, Class, Object[]) メソッドは呼び出されません。
 実装が 2 引数の matches(java.lang.reflect.Method, Class) メソッドから true を返し、その isRuntime() メソッドが true を返す場合、3 引数の matches(java.lang.reflect.Method, Class, Object[]) メソッドは 、関連するアドバイスが実行される直前に呼び出され、アドバイスを実行するかどうかを決定します。インターセプターチェーンの以前のインターセプターなど、以前のすべてのアドバイスが実行されるため、パラメーターまたは ThreadLocal 状態で生成された状態変更は、評価時に利用できます。
Pointcut, ClassFilter| 修飾子と型 | フィールドと説明 | 
|---|---|
static MethodMatcher | TRUE すべてのメソッドに一致する正規インスタンス。  | 
| 修飾子と型 | メソッドと説明 | 
|---|---|
boolean | isRuntime() この MethodMatcher は動的ですか、つまり、2-arg matches メソッドが  true を返す場合でも、実行時に matches(java.lang.reflect.Method, Class, Object[]) メソッドで最後の呼び出しを行う必要がありますか?  | 
boolean | matches(java.lang.reflect.Method method, java.lang.Class<?> targetClass) 指定されたメソッドが一致するかどうか静的チェックを実行します。  | 
boolean | matches(java.lang.reflect.Method method, java.lang.Class<?> targetClass, java.lang.Object... args) このメソッドに静的に一致している必要があるランタイム(動的)一致があるかどうかを確認します。  | 
static final MethodMatcher TRUE
boolean matches(java.lang.reflect.Method method,
                @Nullable
                java.lang.Class<?> targetClass)false を返す場合、または isRuntime() メソッドが false を返す場合、実行時チェック(つまり、matches(java.lang.reflect.Method, Class, Object[]) 呼び出し)は行われません。method - 候補メソッド targetClass - ターゲットクラス (null の場合があります。この場合、候補クラスは、メソッドの宣言クラスであると見なす必要があります)boolean isRuntime()
true を返す場合でも、実行時に matches(java.lang.reflect.Method, Class, Object[]) メソッドで最後の呼び出しを行う必要がありますか? AOP プロキシの作成時に呼び出すことができ、各メソッド呼び出しの前に再度呼び出す必要はありません。
matches(java.lang.reflect.Method, Class, Object[]) メソッドによる実行時一致が必要かどうか boolean matches(java.lang.reflect.Method method,
                @Nullable
                java.lang.Class<?> targetClass,
                java.lang.Object... args) このメソッドが呼び出されるのは、2-arg matches メソッドが特定のメソッドとターゲットクラスの true を返し、isRuntime() メソッドが true を返す場合のみです。アドバイスが実行される可能性のある直前に呼び出され、after any アドバイスはアドバイスチェーンの前に実行されました。
method - 候補メソッド targetClass - ターゲットクラス (null の場合があります。この場合、候補クラスは、メソッドの宣言クラスであると見なす必要があります)args - メソッドの引数 matches(Method, Class)