public class ControlFlowPointcut extends java.lang.Object implements Pointcut, ClassFilter, MethodMatcher, java.io.Serializable
ControlFlow
,
Serialized FormTRUE
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, java.lang.String methodName)
clazz
- the clazzmethodName
- the name of the methodpublic boolean matches(java.lang.Class clazz)
matches
in interface ClassFilter
clazz
- the candidate target classpublic boolean matches(java.lang.reflect.Method method, 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, 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