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.
Pointcut, ClassFilter
| Modifier and Type | Field and Description |
|---|---|
| public static final MethodMatcher | TRUE
Canonical instance of a |
| Modifier and Type | Method and Description |
|---|---|
| public boolean | Returns: whether a runtime match viamatches(Method, Class, Object[])
is required if static matching passedIs this |
| public boolean | |
| public boolean |
| TRUE | back to summary |
|---|---|
| public static final MethodMatcher TRUE Canonical instance of a | |
| isRuntime | back to summary |
|---|---|
| public boolean isRuntime() Is this Can be invoked when an AOP proxy is created, and need not be invoked again before each method invocation.
| |
| matches | back to summary |
|---|---|
| public boolean matches(Method method, Class<?> targetClass) Perform static checking to determine whether the given method matches. If this method returns | |
| matches | back to summary |
|---|---|
| public boolean matches(Method method, Class<?> targetClass, Object... args) Check whether there is a runtime (dynamic) match for this method, which must have matched statically. This method is invoked only if Invoked immediately before potential running of the advice, after any advice earlier in the advice chain has run.
| |