public class AspectJExpressionPointcut extends AbstractExpressionPointcut implements ClassFilter, IntroductionAwareMethodMatcher, BeanFactoryAware
Pointcut
実装。ポイントカット式の値は AspectJ 式です。これは、他のポイントカットを参照し、構成およびその他の操作を使用できます。
当然、これは Spring AOP のプロキシベースのモデルで処理されるため、メソッド実行ポイントカットのみがサポートされます。
TRUE
コンストラクターと説明 |
---|
AspectJExpressionPointcut() 新しいデフォルトの AspectJExpressionPointcut を作成します。 |
AspectJExpressionPointcut(ClassSE<?> declarationScope, StringSE[] paramNames, ClassSE<?>[] paramTypes) 指定された設定で新しい AspectJExpressionPointcut を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
boolean | equals(ObjectSE other) |
ClassFilter | getClassFilter() このポイントカットの ClassFilter を返します。 |
protected StringSE | getCurrentProxiedBeanName() |
MethodMatcher | getMethodMatcher() このポイントカットの MethodMatcher を返します。 |
org.aspectj.weaver.tools.PointcutExpression | getPointcutExpression() 基になる AspectJ ポイントカット式を返します。 |
int | hashCode() |
boolean | isRuntime() この MethodMatcher は動的ですか、つまり、2-arg matches メソッドが true を返す場合でも、実行時に MethodMatcher.matches(java.lang.reflect.Method, Class, Object[]) メソッドで最後の呼び出しを行う必要がありますか? |
boolean | matches(ClassSE<?> targetClass) ポイントカットは、特定のインターフェースまたはターゲットクラスに適用する必要がありますか? |
boolean | matches(MethodSE method, ClassSE<?> targetClass) 指定されたメソッドが一致するかどうか静的チェックを実行します。 |
boolean | matches(MethodSE method, ClassSE<?> targetClass, boolean hasIntroductions) 指定されたメソッドが一致するかどうか静的チェックを実行します。 |
boolean | matches(MethodSE method, ClassSE<?> targetClass, ObjectSE... args) このメソッドに静的に一致している必要があるランタイム(動的)一致があるかどうかを確認します。 |
void | setBeanFactory(BeanFactory beanFactory) 所有ファクトリを Bean インスタンスに提供するコールバック。 |
void | setParameterNames(StringSE... names) ポイントカットのパラメーター名を設定します。 |
void | setParameterTypes(ClassSE<?>... types) ポイントカットのパラメーター型を設定します。 |
void | setPointcutDeclarationScope(ClassSE<?> pointcutDeclarationScope) ポイントカットの宣言スコープを設定します。 |
StringSE | toString() |
getExpression, getLocation, onSetExpression, setExpression, setLocation
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
public AspectJExpressionPointcut()
public void setPointcutDeclarationScope(ClassSE<?> pointcutDeclarationScope)
public void setParameterNames(StringSE... names)
public void setParameterTypes(ClassSE<?>... types)
public void setBeanFactory(BeanFactory beanFactory)
BeanFactoryAware
通常の Bean プロパティの設定後、ただし InitializingBean.afterPropertiesSet()
またはカスタム init-method などの初期化コールバックの前に呼び出されます。
BeanFactoryAware
の setBeanFactory
beanFactory
- 所有 BeanFactory(非 null
)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。BeanInitializationException
public ClassFilter getClassFilter()
Pointcut
Pointcut
の getClassFilter
null
)public MethodMatcher getMethodMatcher()
Pointcut
Pointcut
の getMethodMatcher
null
)public org.aspectj.weaver.tools.PointcutExpression getPointcutExpression()
public boolean matches(ClassSE<?> targetClass)
ClassFilter
ClassFilter
の matches
targetClass
- 候補ターゲットクラス public boolean matches(MethodSE method, ClassSE<?> targetClass, boolean hasIntroductions)
IntroductionAwareMethodMatcher
MethodMatcher.matches(java.lang.reflect.Method, Class)
メソッドの代わりにこれを呼び出すことができます。IntroductionAwareMethodMatcher
の matches
method
- 候補メソッド targetClass
- ターゲットクラス hasIntroductions
- true
は、代わりに求めているオブジェクトが 1 つ以上の導入のサブジェクトである場合。それ以外の場合は false
public boolean matches(MethodSE method, ClassSE<?> targetClass)
MethodMatcher
これが false
を返す場合、または MethodMatcher.isRuntime()
メソッドが false
を返す場合、ランタイムチェックは行われません(つまり、MethodMatcher.matches(java.lang.reflect.Method, Class, Object[])
呼び出しは行われません)。
MethodMatcher
の matches
method
- 候補メソッド targetClass
- ターゲットクラス public boolean isRuntime()
MethodMatcher
true
を返す場合でも、実行時に MethodMatcher.matches(java.lang.reflect.Method, Class, Object[])
メソッドで最後の呼び出しを行う必要がありますか? AOP プロキシの作成時に呼び出すことができ、各メソッド呼び出しの前に再度呼び出す必要はありません。
MethodMatcher
の isRuntime
MethodMatcher.matches(java.lang.reflect.Method, Class, Object[])
メソッドによる実行時一致が必要かどうか public boolean matches(MethodSE method, ClassSE<?> targetClass, ObjectSE... args)
MethodMatcher
このメソッドが呼び出されるのは、2-arg matches メソッドが特定のメソッドとターゲットクラスの true
を返し、MethodMatcher.isRuntime()
メソッドが true
を返す場合のみです。アドバイスが実行される可能性のある直前に呼び出され、after any アドバイスはアドバイスチェーンの前に実行されました。
MethodMatcher
の matches
method
- 候補メソッド targetClass
- ターゲットクラス args
- メソッドの引数 MethodMatcher.matches(Method, Class)
public int hashCode()
ObjectSE
の hashCodeSE
public StringSE toString()
ObjectSE
の toStringSE