## 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
`MethodMatchers()`

Method Summary
`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