Package org.springframework.beans.factory.support

# Class LookupOverride

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

All Implemented Interfaces:
  `BeanMetadataElement`

public class LookupOverride extends MethodOverride
Represents an override of a method that looks up an object in the same IoC context, either by bean name or by bean type (based on the declared method return type).

Methods eligible for lookup override may declare arguments in which case the given arguments are passed to the bean retrieval operation.

Since:
  1.1
Author:
  Rod Johnson, Juergen Hoeller
See Also:
  - `BeanFactory.getBean(String)`
  - `BeanFactory.getBean(Class)`
  - `BeanFactory.getBean(String, Object...)`
  - `BeanFactory.getBean(Class, Object...)`
  - `BeanFactory.getBeanProvider(ResolvableType)`

## Constructor Summary

Constructors
Constructor
Description
`LookupOverride(Method method, String beanName)`
Construct a new `LookupOverride`.
`LookupOverride(String methodName, String beanName)`
Construct a new `LookupOverride`.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object other)`
`String`
`getBeanName()`
Return the name of the bean that should be returned by this `LookupOverride`.
`int`
`hashCode()`
`boolean`
`matches(Method method)`
Match the specified method by `Method` reference or method name.
`String`
`toString()`

### Methods inherited from class org.springframework.beans.factory.support.MethodOverride

`getMethodName, getSource, isOverloaded, setOverloaded, setSource`

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

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

## Constructor Details

### LookupOverride

public LookupOverride(String methodName, @Nullable String beanName)
Construct a new `LookupOverride`.

Parameters:
  `methodName` - the name of the method to override
  `beanName` - the name of the bean in the current `BeanFactory` that the overridden method should return (may be `null` for type-based bean retrieval)

### LookupOverride

public LookupOverride(Method method, @Nullable String beanName)
Construct a new `LookupOverride`.

Parameters:
  `method` - the method declaration to override
  `beanName` - the name of the bean in the current `BeanFactory` that the overridden method should return (may be `null` for type-based bean retrieval)

## Method Details

### getBeanName

@Nullable public String getBeanName()
Return the name of the bean that should be returned by this `LookupOverride`.

### matches

public boolean matches(Method method)
Match the specified method by `Method` reference or method name.

For backwards compatibility reasons, in a scenario with overloaded non-abstract methods of the given name, only the no-arg variant of a method will be turned into a container-driven lookup method.

In case of a provided `Method`, only straight matches will be considered, usually demarcated by the `@Lookup` annotation.

Specified by:
  `matches` in class `MethodOverride`
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 `MethodOverride`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `MethodOverride`

### toString

public String toString()

Overrides:
  `toString` in class `Object`