Package 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, Sam Brannen
See Also:
  - `ClassFilters`
  - `Pointcuts`

## Constructor Summary

Constructors
Constructor
Description
`MethodMatchers()`

## Method Summary

Modifier and Type
Method
Description
`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`
`negate(MethodMatcher methodMatcher)`
Return a method matcher that represents the logical negation of the specified matcher instance.
`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 Details

### MethodMatchers

public MethodMatchers()

## Method Details

### 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

### negate

public static MethodMatcher negate(MethodMatcher methodMatcher)
Return a method matcher that represents the logical negation of the specified matcher instance.

Parameters:
  `methodMatcher` - the `MethodMatcher` to negate
Returns:
  a matcher that represents the logical negation of the specified matcher
Since:
  6.1

### 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
  `hasIntroductions` - `true` if the object on whose behalf we are asking is the subject on one or more introductions; `false` otherwise
Returns:
  whether this method matches statically