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, Sam Brannen
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    MethodOverride(String methodName)
    Construct a new override for the given method.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    equals(Object other)
     
    Return the name of the method to be overridden.
    Return the configuration source Object for this metadata element (may be null).
    int
     
    protected boolean
    Return whether the overridden method is overloaded (i.e., whether argument type matching needs to occur to disambiguate methods of the same name).
    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 is overloaded (i.e., whether argument type matching needs to occur to disambiguate methods of the same name).
    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 Details

    • MethodOverride

      protected MethodOverride(String methodName)
      Construct a new override for the given method.
      Parameters:
      methodName - the name of the method to override
  • Method Details

    • getMethodName

      public String getMethodName()
      Return the name of the method to be overridden.
    • setOverloaded

      protected void setOverloaded(boolean overloaded)
      Set whether the overridden method is overloaded (i.e., whether argument type matching needs to occur to disambiguate methods of the same name).

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

    • isOverloaded

      protected boolean isOverloaded()
      Return whether the overridden method is overloaded (i.e., whether argument type matching needs to occur to disambiguate methods of the same name).
    • setSource

      public void setSource(@Nullable 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

      @Nullable 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(@Nullable Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object