Interface MethodMatcher
- All Known Subinterfaces:
- IntroductionAwareMethodMatcher
- All Known Implementing Classes:
- AbstractRegexpMethodPointcut,- AnnotationMethodMatcher,- AspectJExpressionPointcut,- ControlFlowPointcut,- DynamicMethodMatcher,- DynamicMethodMatcherPointcut,- JCacheOperationSourcePointcut,- JdkRegexpMethodPointcut,- NameMatchMethodPointcut,- StaticMethodMatcher,- StaticMethodMatcherPointcut,- StaticMethodMatcherPointcutAdvisor
Pointcut: Checks whether the target method is eligible for advice.
 A MethodMatcher may be evaluated statically or at runtime
 (dynamically). Static matching involves a method and (possibly) method attributes.
 Dynamic matching also makes arguments for a particular call available, and any
 effects of running previous advice applying to the joinpoint.
 
If an implementation returns false from its isRuntime()
 method, evaluation can be performed statically, and the result will be the same
 for all invocations of this method, whatever their arguments. This means that
 if the isRuntime() method returns false, the 3-arg
 matches(Method, Class, Object[]) method will never be invoked.
 
If an implementation returns true from its 2-arg
 matches(Method, Class) method and its isRuntime() method
 returns true, the 3-arg matches(Method, Class, Object[])
 method will be invoked immediately before each potential execution of the
 related advice to decide whether the advice should run. All previous advice,
 such as earlier interceptors in an interceptor chain, will have run, so any
 state changes they have produced in parameters or ThreadLocal state will
 be available at the time of evaluation.
 
WARNING: Concrete implementations of this interface must
 provide proper implementations of Object.equals(Object),
 Object.hashCode(), and Object.toString() in order to allow the
 matcher to be used in caching scenarios — for example, in proxies generated
 by CGLIB. As of Spring Framework 6.0.13, the toString() implementation
 must generate a unique string representation that aligns with the logic used
 to implement equals(). See concrete implementations of this interface
 within the framework for examples.
- Since:
- 11.11.2003
- Author:
- Rod Johnson, Sam Brannen
- See Also:
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final MethodMatcherCanonical instance of aMethodMatcherthat matches all methods.
- 
Method SummaryModifier and TypeMethodDescriptionbooleanIs thisMethodMatcherdynamic, that is, must a final check be made via thematches(Method, Class, Object[])method at runtime even ifmatches(Method, Class)returnstrue?booleanPerform static checking to determine whether the given method matches.booleanCheck whether there is a runtime (dynamic) match for this method, which must have matched statically.
- 
Field Details- 
TRUECanonical instance of aMethodMatcherthat matches all methods.
 
- 
- 
Method Details- 
matchesPerform static checking to determine whether the given method matches.If this method returns falseor ifisRuntime()returnsfalse, no runtime check (i.e. nomatches(Method, Class, Object[])call) will be made.- Parameters:
- method- the candidate method
- targetClass- the target class
- Returns:
- whether this method matches statically
 
- 
isRuntimeboolean isRuntime()Is thisMethodMatcherdynamic, that is, must a final check be made via thematches(Method, Class, Object[])method at runtime even ifmatches(Method, Class)returnstrue?Can be invoked when an AOP proxy is created, and need not be invoked again before each method invocation. - Returns:
- whether a runtime match via matches(Method, Class, Object[])is required if static matching passed
 
- 
matchesCheck whether there is a runtime (dynamic) match for this method, which must have matched statically.This method is invoked only if matches(Method, Class)returnstruefor the given method and target class, and ifisRuntime()returnstrue.Invoked immediately before potential running of the advice, after any advice earlier in the advice chain has run. - Parameters:
- method- the candidate method
- targetClass- the target class
- args- arguments to the method
- Returns:
- whether there's a runtime match
- See Also:
 
 
-