org.springframework.aop.support
Class StaticMethodMatcher

java.lang.Object
  extended by 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.


Field Summary
 
Fields inherited from interface org.springframework.aop.MethodMatcher
TRUE
 
Constructor Summary
StaticMethodMatcher()
           
 
Method Summary
 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(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 the 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,

Specified by:
isRuntime in interface MethodMatcher
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 the MethodMatcher.isRuntime() method returns true. Invoked immediately before potential running of the advice, after any advice earlier in the advice chain has run.

Specified by:
matches in interface MethodMatcher
Parameters:
method - the candidate method
targetClass - 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
Returns:
whether there's a runtime match
See Also:
MethodMatcher.matches(Method, Class)