public class ControlFlowPointcut extends Object implements Pointcut, ClassFilter, MethodMatcher, Serializable
ControlFlow
,
Serialized FormTRUE
TRUE
Constructor and Description |
---|
ControlFlowPointcut(Class<?> clazz)
Construct a new pointcut that matches all control flows below that class.
|
ControlFlowPointcut(Class<?> clazz,
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(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(Class<?> clazz)
Subclasses can override this for greater filtering (and performance).
|
boolean |
matches(Method method,
Class<?> targetClass)
Subclasses can override this if it's possible to filter out
some candidate classes.
|
boolean |
matches(Method method,
Class<?> targetClass,
Object[] args)
Check whether there a runtime (dynamic) match for this method,
which must have matched statically.
|
public ControlFlowPointcut(Class<?> clazz)
clazz
- the clazzpublic ControlFlowPointcut(Class<?> clazz, String methodName)
clazz
- the clazzmethodName
- the name of the methodpublic boolean matches(Class<?> clazz)
matches
in interface ClassFilter
clazz
- the candidate target classpublic boolean matches(Method method, 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(Method method, Class<?> targetClass, 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
)