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.

### Field Summary

### Fields inherited from interface org.springframework.aop.MethodMatcher

`TRUE`

### Constructor Summary

Constructors
Constructor and Description
`StaticMethodMatcher()`

### Method Summary

Methods
`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)`