org.springframework.aop.support

## Class NameMatchMethodPointcut

- java.lang.Object
- - org.springframework.aop.support.StaticMethodMatcher
  - - org.springframework.aop.support.StaticMethodMatcherPointcut
    - - org.springframework.aop.support.NameMatchMethodPointcut

All Implemented Interfaces:
  Serializable, MethodMatcher, Pointcut

    public class NameMatchMethodPointcut
    extends StaticMethodMatcherPointcut
    implements Serializable

Pointcut bean for simple method name matches, as alternative to regexp patterns. Does not handle overloaded methods: all methods *with a given name will be eligible.

Since:
  11.02.2004
Author:
  Juergen Hoeller, Rod Johnson, Rob Harrop
See Also:
  `isMatch(java.lang.String, java.lang.String)`, Serialized Form

### Field Summary

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

`TRUE`

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

`TRUE`

### Constructor Summary

Constructors
Constructor and Description
`NameMatchMethodPointcut()`

### Method Summary

Methods
`NameMatchMethodPointcut` `addMethodName(String name)` Add another eligible method name, in addition to those already named.
`boolean` `equals(Object other)`
`int` `hashCode()`
`protected boolean` `isMatch(String methodName, String mappedName)` Return if the given method name matches the mapped name.
`boolean` `matches(Method method, Class targetClass)` Perform static checking whether the given method matches.
`void` `setMappedName(String mappedName)` Convenience method when we have only a single method name to match.
`void` `setMappedNames(String[] mappedNames)` Set the method names defining methods to match.

### Methods inherited from class org.springframework.aop.support.StaticMethodMatcherPointcut

`getClassFilter, getMethodMatcher, setClassFilter`

### Methods inherited from class org.springframework.aop.support.StaticMethodMatcher

`isRuntime, matches`

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

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

### Constructor Detail

#### NameMatchMethodPointcut

    public NameMatchMethodPointcut()

### Method Detail

#### setMappedName

    public void setMappedName(String mappedName)

Convenience method when we have only a single method name to match. Use either this method or `setMappedNames`, not both.

See Also:
  `setMappedNames(java.lang.String[])`

#### setMappedNames

    public void setMappedNames(String[] mappedNames)

Set the method names defining methods to match. Matching will be the union of all these; if any match, the pointcut matches.

#### addMethodName

    public NameMatchMethodPointcut addMethodName(String name)

Add another eligible method name, in addition to those already named. Like the set methods, this method is for use when configuring proxies, before a proxy is used.

NB: This method does not work after the proxy is in use, as advice chains will be cached.

Parameters:
  `name` - name of the additional method that will match
Returns:
  this pointcut to allow for multiple additions in one line

#### matches

    public boolean matches(Method method,
                  Class targetClass)

Description copied from interface: `MethodMatcher`
Perform static checking whether the given method matches. If this returns `false` or if the `MethodMatcher.isRuntime()` method returns `false`, no runtime check (i.e. no. `MethodMatcher.matches(java.lang.reflect.Method, Class, Object[])` call) will be made.

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)
Returns:
  whether or not this method matches statically

#### isMatch

    protected boolean isMatch(String methodName,
                  String mappedName)

Return if the given method name matches the mapped name.

The default implementation checks for "xxx*", "*xxx" and "*xxx*" matches, as well as direct equality. Can be overridden in subclasses.

Parameters:
  `methodName` - the method name of the class
  `mappedName` - the name in the descriptor
Returns:
  if the names match
See Also:
  `PatternMatchUtils.simpleMatch(String, String)`

#### equals

    public boolean equals(Object other)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`