public class ControlFlowPointcut extends java.lang.Object implements Pointcut, ClassFilter, MethodMatcher, java.io.Serializable
TRUE
TRUE
Constructor and Description |
---|
ControlFlowPointcut(java.lang.Class<?> clazz)
Construct a new pointcut that matches all control flows below that class.
|
ControlFlowPointcut(java.lang.Class<?> clazz,
java.lang.String methodName)
Construct a new pointcut that matches all calls below the given method
in the given class.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object other) |
ClassFilter |
getClassFilter()
Return the ClassFilter for this pointcut.
|
int |
getEvaluations()
It's useful to know how many times we've fired, for optimization.
|
MethodMatcher |
getMethodMatcher()
Return the MethodMatcher for this pointcut.
|
int |
hashCode() |
boolean |
isRuntime()
Is this MethodMatcher dynamic, that is, must a final call be made on the
MethodMatcher.matches(java.lang.reflect.Method, Class, Object[]) method at
runtime even if the 2-arg matches method returns true ? |
boolean |
matches(java.lang.Class<?> clazz)
Subclasses can override this for greater filtering (and performance).
|
boolean |
matches(java.lang.reflect.Method method,
java.lang.Class<?> targetClass)
Subclasses can override this if it's possible to filter out
some candidate classes.
|
boolean |
matches(java.lang.reflect.Method method,
java.lang.Class<?> targetClass,
java.lang.Object... args)
Check whether there a runtime (dynamic) match for this method,
which must have matched statically.
|
public ControlFlowPointcut(java.lang.Class<?> clazz)
clazz
- the clazzpublic ControlFlowPointcut(java.lang.Class<?> clazz, @Nullable java.lang.String methodName)
clazz
- the clazzmethodName
- the name of the method (may be null
)public boolean matches(java.lang.Class<?> clazz)
matches
in interface ClassFilter
clazz
- the candidate target classpublic boolean matches(java.lang.reflect.Method method, @Nullable java.lang.Class<?> targetClass)
matches
in interface MethodMatcher
method
- the candidate methodtargetClass
- the target class (may be null
, in which case
the candidate class must be taken to be the method's declaring class)public boolean isRuntime()
MethodMatcher
MethodMatcher.matches(java.lang.reflect.Method, Class, Object[])
method at
runtime even if the 2-arg matches method returns true
?
Can be invoked when an AOP proxy is created, and need not be invoked again before each method invocation,
isRuntime
in interface MethodMatcher
MethodMatcher.matches(java.lang.reflect.Method, Class, Object[])
method
is required if static matching passedpublic boolean matches(java.lang.reflect.Method method, @Nullable java.lang.Class<?> targetClass, java.lang.Object... args)
MethodMatcher
This method is invoked only if the 2-arg matches method returns
true
for the given method and target class, and if the
MethodMatcher.isRuntime()
method returns true
. Invoked
immediately before potential running of the advice, after any
advice earlier in the advice chain has run.
matches
in interface MethodMatcher
method
- the candidate methodtargetClass
- the target class (may be null
, in which case
the candidate class must be taken to be the method's declaring class)args
- arguments to the methodMethodMatcher.matches(Method, Class)
public int getEvaluations()
public ClassFilter getClassFilter()
Pointcut
getClassFilter
in interface Pointcut
null
)public MethodMatcher getMethodMatcher()
Pointcut
getMethodMatcher
in interface Pointcut
null
)public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object