org.springframework.beans.factory.support

## Class MethodOverride

- java.lang.Object
- - org.springframework.beans.factory.support.MethodOverride

All Implemented Interfaces:
  BeanMetadataElement

Direct Known Subclasses:
  LookupOverride, ReplaceOverride

    public abstract class MethodOverride
    extends Object
    implements BeanMetadataElement

Object representing the override of a method on a managed object by the IoC container.

Note that the override mechanism is not intended as a generic means of inserting crosscutting code: use AOP for that.

Since:
  1.1
Author:
  Rod Johnson, Juergen Hoeller

### Constructor Summary

Constructors
`protected` `MethodOverride(String methodName)` Construct a new override for the given method.

### Method Summary

Methods
`boolean` `equals(Object other)`
`String` `getMethodName()` Return the name of the method to be overridden.
`Object` `getSource()` Return the configuration source `Object` for this metadata element (may be `null`).
`int` `hashCode()`
`protected boolean` `isOverloaded()` Return whether the overridden method has to be considered as overloaded (that is, whether arg type matching has to happen).
`abstract boolean` `matches(Method method)` Subclasses must override this to indicate whether they match the given method.
`protected void` `setOverloaded(boolean overloaded)` Set whether the overridden method has to be considered as overloaded (that is, whether arg type matching has to happen).
`void` `setSource(Object source)` Set the configuration source `Object` for this metadata element.

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

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

### Constructor Detail

#### MethodOverride

    protected MethodOverride(String methodName)

Construct a new override for the given method.

Parameters:
  `methodName` - the name of the method to override

### Method Detail

#### getMethodName

    public String getMethodName()

Return the name of the method to be overridden.

#### setOverloaded

    protected void setOverloaded(boolean overloaded)

Set whether the overridden method has to be considered as overloaded (that is, whether arg type matching has to happen).

Default is "true"; can be switched to "false" to optimize runtime performance.

#### isOverloaded

    protected boolean isOverloaded()

Return whether the overridden method has to be considered as overloaded (that is, whether arg type matching has to happen).

#### setSource

    public void setSource(Object source)

Set the configuration source `Object` for this metadata element.

The exact type of the object will depend on the configuration mechanism used.

#### getSource

    public Object getSource()

Description copied from interface: `BeanMetadataElement`
Return the configuration source `Object` for this metadata element (may be `null`).

Specified by:
  `getSource` in interface `BeanMetadataElement`

#### matches

    public abstract boolean matches(Method method)

Subclasses must override this to indicate whether they match the given method. This allows for argument list checking as well as method name checking.

Parameters:
  `method` - the method to check
Returns:
  whether this override matches the given method

#### equals

    public boolean equals(Object other)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`