|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.aop.support.ControlFlowPointcut
public class ControlFlowPointcut
Pointcut and method matcher for use in simple cflow-style pointcut. Note that evaluating such pointcuts is 10-15 times slower than evaluating normal pointcuts, but they are useful in some cases.
ControlFlow
,
Serialized FormField Summary |
---|
Fields inherited from interface org.springframework.aop.Pointcut |
---|
TRUE |
Fields inherited from interface org.springframework.aop.ClassFilter |
---|
TRUE |
Fields inherited from interface org.springframework.aop.MethodMatcher |
---|
TRUE |
Constructor Summary | |
---|---|
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. |
Method Summary | |
---|---|
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. |
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ControlFlowPointcut(Class clazz)
clazz
- the clazzpublic ControlFlowPointcut(Class clazz, String methodName)
clazz
- the clazzmethodName
- the name of the methodMethod Detail |
---|
public boolean matches(Class clazz)
matches
in interface ClassFilter
clazz
- the candidate target class
public 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 method
MethodMatcher.matches(Method, Class)
public int getEvaluations()
public ClassFilter getClassFilter()
Pointcut
getClassFilter
in interface Pointcut
null
)public MethodMatcher getMethodMatcher()
Pointcut
getMethodMatcher
in interface Pointcut
null
)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |