Package org.springframework.aop.support
Class ControlFlowPointcut
java.lang.Object
org.springframework.aop.support.ControlFlowPointcut
- All Implemented Interfaces:
- 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.
- Author:
- Rod Johnson, Rob Harrop, Juergen Hoeller, Sam Brannen
- See Also:
- 
Field SummaryFields inherited from interface org.springframework.aop.ClassFilterTRUEFields inherited from interface org.springframework.aop.MethodMatcherTRUE
- 
Constructor SummaryConstructorsConstructorDescriptionControlFlowPointcut(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 SummaryModifier and TypeMethodDescriptionbooleanReturn the ClassFilter for this pointcut.intIt's useful to know how many times we've fired, for optimization.Return the MethodMatcher for this pointcut.inthashCode()booleanIs thisMethodMatcherdynamic, that is, must a final check be made via theMethodMatcher.matches(Method, Class, Object[])method at runtime even ifMethodMatcher.matches(Method, Class)returnstrue?booleanSubclasses can override this for greater filtering (and performance).booleanSubclasses can override this if it's possible to filter out some candidate classes.booleanCheck whether there is a runtime (dynamic) match for this method, which must have matched statically.toString()
- 
Constructor Details- 
ControlFlowPointcutConstruct a new pointcut that matches all control flows below that class.- Parameters:
- clazz- the clazz
 
- 
ControlFlowPointcutConstruct 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.- Parameters:
- clazz- the clazz
- methodName- the name of the method (may be- null)
 
 
- 
- 
Method Details- 
matchesSubclasses can override this for greater filtering (and performance).- Specified by:
- matchesin interface- ClassFilter
- Parameters:
- clazz- the candidate target class
- Returns:
- whether the advice should apply to the given target class
 
- 
matchesSubclasses can override this if it's possible to filter out some candidate classes.- Specified by:
- matchesin interface- MethodMatcher
- Parameters:
- method- the candidate method
- targetClass- the target class
- Returns:
- whether this method matches statically
 
- 
isRuntimepublic boolean isRuntime()Description copied from interface:MethodMatcherIs thisMethodMatcherdynamic, that is, must a final check be made via theMethodMatcher.matches(Method, Class, Object[])method at runtime even ifMethodMatcher.matches(Method, Class)returnstrue?Can be invoked when an AOP proxy is created, and need not be invoked again before each method invocation. - Specified by:
- isRuntimein interface- MethodMatcher
- Returns:
- whether a runtime match via MethodMatcher.matches(Method, Class, Object[])is required if static matching passed
 
- 
matchesDescription copied from interface:MethodMatcherCheck whether there is a runtime (dynamic) match for this method, which must have matched statically.This method is invoked only if MethodMatcher.matches(Method, Class)returnstruefor the given method and target class, and ifMethodMatcher.isRuntime()returnstrue.Invoked immediately before potential running of the advice, after any advice earlier in the advice chain has run. - Specified by:
- matchesin interface- MethodMatcher
- Parameters:
- method- the candidate method
- targetClass- the target class
- args- arguments to the method
- Returns:
- whether there's a runtime match
- See Also:
 
- 
getEvaluationspublic int getEvaluations()It's useful to know how many times we've fired, for optimization.
- 
getClassFilterDescription copied from interface:PointcutReturn the ClassFilter for this pointcut.- Specified by:
- getClassFilterin interface- Pointcut
- Returns:
- the ClassFilter (never null)
 
- 
getMethodMatcherDescription copied from interface:PointcutReturn the MethodMatcher for this pointcut.- Specified by:
- getMethodMatcherin interface- Pointcut
- Returns:
- the MethodMatcher (never null)
 
- 
equals
- 
hashCodepublic int hashCode()
- 
toString
 
-