org.springframework.aop.support

## Class MethodMatchers

- java.lang.Object
- - org.springframework.aop.support.MethodMatchers

    public abstract class MethodMatchers
    extends Object

Static utility methods for composing `MethodMatchers`.

A MethodMatcher may be evaluated statically (based on method and target class) or need further evaluation dynamically (based on arguments at the time of method invocation).

Since:
  11.11.2003
Author:
  Rod Johnson, Rob Harrop, Juergen Hoeller
See Also:
  `ClassFilters`, `Pointcuts`

### Constructor Summary

Constructors
Constructor and Description
`MethodMatchers()`

### Method Summary

Methods
`static MethodMatcher` `intersection(MethodMatcher mm1, MethodMatcher mm2)` Match all methods that both of the given MethodMatchers match.
`static boolean` `matches(MethodMatcher mm, Method method, Class targetClass, boolean hasIntroductions)` Apply the given MethodMatcher to the given Method, supporting an `IntroductionAwareMethodMatcher` (if applicable).
`static MethodMatcher` `union(MethodMatcher mm1, MethodMatcher mm2)` Match all methods that either (or both) of the given MethodMatchers matches.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### MethodMatchers

    public MethodMatchers()

### Method Detail

#### union

    public static MethodMatcher union(MethodMatcher mm1,
                      MethodMatcher mm2)

Match all methods that either (or both) of the given MethodMatchers matches.

Parameters:
  `mm1` - the first MethodMatcher
  `mm2` - the second MethodMatcher
Returns:
  a distinct MethodMatcher that matches all methods that either of the given MethodMatchers matches

#### intersection

    public static MethodMatcher intersection(MethodMatcher mm1,
                             MethodMatcher mm2)

Match all methods that both of the given MethodMatchers match.

Parameters:
  `mm1` - the first MethodMatcher
  `mm2` - the second MethodMatcher
Returns:
  a distinct MethodMatcher that matches all methods that both of the given MethodMatchers match

#### matches

    public static boolean matches(MethodMatcher mm,
                  Method method,
                  Class targetClass,
                  boolean hasIntroductions)

Apply the given MethodMatcher to the given Method, supporting an `IntroductionAwareMethodMatcher` (if applicable).

Parameters:
  `mm` - the MethodMatcher to apply (may be an IntroductionAwareMethodMatcher)
  `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)
  `hasIntroductions` - `true` if the object on whose behalf we are asking is the subject on one or more introductions; `false` otherwise
Returns:
  whether or not this method matches statically