类 ControlFlowPointcut
- java.lang.Object
- org.springframework.aop.support.ControlFlowPointcut
- 所有已实现的接口:
Serializable
,ClassFilter
,MethodMatcher
,Pointcut
public class ControlFlowPointcut extends Object implements Pointcut, ClassFilter, MethodMatcher, Serializable
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.- 作者:
- Rod Johnson, Rob Harrop, Juergen Hoeller
- 另请参阅:
- 序列化表格
字段概要
从接口继承的字段 org.springframework.aop.ClassFilter
TRUE
从接口继承的字段 org.springframework.aop.MethodMatcher
TRUE
构造器概要
构造器 构造器 说明 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.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 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 theMethodMatcher.matches(java.lang.reflect.Method, Class, Object[])
method at runtime even if the 2-arg matches method returnstrue
?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.
构造器详细资料
ControlFlowPointcut
public ControlFlowPointcut(Class<?> clazz)
Construct a new pointcut that matches all control flows below that class.- 参数:
clazz
- the clazz
ControlFlowPointcut
public ControlFlowPointcut(Class<?> clazz, String methodName)
Construct a new pointcut that matches all calls below the given method in the given class. If no method name is given, matches all control flows below the given class.- 参数:
clazz
- the clazzmethodName
- the name of the method (may benull
)
方法详细资料
matches
public boolean matches(Class<?> clazz)
Subclasses can override this for greater filtering (and performance).- 指定者:
matches
在接口中ClassFilter
- 参数:
clazz
- the candidate target class- 返回:
- whether the advice should apply to the given target class
matches
public boolean matches(Method method, Class<?> targetClass)
Subclasses can override this if it's possible to filter out some candidate classes.- 指定者:
matches
在接口中MethodMatcher
- 参数:
method
- the candidate methodtargetClass
- the target class (may benull
, in which case the candidate class must be taken to be the method's declaring class)- 返回:
- whether or not this method matches statically
isRuntime
public boolean isRuntime()
从接口复制的说明:MethodMatcher
Is this MethodMatcher dynamic, that is, must a final call be made on theMethodMatcher.matches(java.lang.reflect.Method, Class, Object[])
method at runtime even if the 2-arg matches method returnstrue
?Can be invoked when an AOP proxy is created, and need not be invoked again before each method invocation,
- 指定者:
isRuntime
在接口中MethodMatcher
- 返回:
- whether or not a runtime match via the 3-arg
MethodMatcher.matches(java.lang.reflect.Method, Class, Object[])
method is required if static matching passed
matches
public boolean matches(Method method, Class<?> targetClass, Object... args)
从接口复制的说明:MethodMatcher
Check whether there a runtime (dynamic) match for this method, which must have matched statically.This method is invoked only if the 2-arg matches method returns
true
for the given method and target class, and if theMethodMatcher.isRuntime()
method returnstrue
. Invoked immediately before potential running of the advice, after any advice earlier in the advice chain has run.- 指定者:
matches
在接口中MethodMatcher
- 参数:
method
- the candidate methodtargetClass
- the target class (may benull
, in which case the candidate class must be taken to be the method's declaring class)args
- arguments to the method- 返回:
- whether there's a runtime match
- 另请参阅:
MethodMatcher.matches(Method, Class)
getEvaluations
public int getEvaluations()
It's useful to know how many times we've fired, for optimization.
getClassFilter
public ClassFilter getClassFilter()
从接口复制的说明:Pointcut
Return the ClassFilter for this pointcut.- 指定者:
getClassFilter
在接口中Pointcut
- 返回:
- the ClassFilter (never
null
)
getMethodMatcher
public MethodMatcher getMethodMatcher()
从接口复制的说明:Pointcut
Return the MethodMatcher for this pointcut.- 指定者:
getMethodMatcher
在接口中Pointcut
- 返回:
- the MethodMatcher (never
null
)