Package org.springframework.aop.support
Class StaticMethodMatcher
- java.lang.Object
- org.springframework.aop.support.StaticMethodMatcher
- All Implemented Interfaces:
MethodMatcher
- Direct Known Subclasses:
AnnotationMethodMatcher
,StaticMethodMatcherPointcut
public abstract class StaticMethodMatcher extends Object implements MethodMatcher
Convenient abstract superclass for static method matchers, which don't care about arguments at runtime.- Author:
- Rod Johnson
Field Summary
Fields inherited from interface org.springframework.aop.MethodMatcher
TRUE
Constructor Summary
Constructors Constructor Description StaticMethodMatcher()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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(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
Methods inherited from interface org.springframework.aop.MethodMatcher
matches
Constructor Detail
StaticMethodMatcher
public StaticMethodMatcher()
Method Detail
isRuntime
public final boolean isRuntime()
Description copied from interface: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,
- Specified by:
isRuntime
in interfaceMethodMatcher
- Returns:
- 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 final boolean matches(Method method, Class<?> targetClass, Object... args)
Description copied from interface: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.- Specified by:
matches
in interfaceMethodMatcher
- Parameters:
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- Returns:
- whether there's a runtime match
- See Also:
MethodMatcher.matches(Method, Class)