Top Description Fields Constructors Methods
org.springframework.beans.factory.config

public Class BeanDefinitionHolder

extends Object
implements BeanMetadataElement
Class Inheritance
All Implemented Interfaces
org.springframework.beans.BeanMetadataElement
Known Direct Subclasses
org.springframework.beans.factory.parsing.BeanComponentDefinition
Imports
org.springframework.beans.BeanMetadataElement, org.springframework.beans.factory.BeanFactoryUtils, org.springframework.lang.Nullable, org.springframework.util.Assert, .ObjectUtils, .StringUtils

Holder for a BeanDefinition with name and aliases. Can be registered as a placeholder for an inner bean.

Can also be used for programmatic registration of inner bean definitions. If you don't care about BeanNameAware and the like, registering RootBeanDefinition or ChildBeanDefinition is good enough.

Author
Juergen Hoeller
Since
1.0.2
See Also
org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.support.RootBeanDefinition, org.springframework.beans.factory.support.ChildBeanDefinition

Field Summary

Modifier and TypeField and Description
private final String[]
private final BeanDefinition
private final String

Constructor Summary

AccessConstructor and Description
public
BeanDefinitionHolder(BeanDefinition
the BeanDefinition to wrap
beanDefinition
,
String
the name of the bean, as specified for the bean definition
beanName
)

Create a new BeanDefinitionHolder.

public
BeanDefinitionHolder(BeanDefinition
the BeanDefinition to wrap
beanDefinition
,
String
the name of the bean, as specified for the bean definition
beanName
,
String[]
alias names for the bean, or null if none
aliases
)

Create a new BeanDefinitionHolder.

public
BeanDefinitionHolder(BeanDefinitionHolder
the BeanDefinitionHolder to copy
beanDefinitionHolder
)

Copy constructor: Create a new BeanDefinitionHolder with the same contents as the given BeanDefinitionHolder instance.

Method Summary

Modifier and TypeMethod and Description
public boolean
equals(Object
the reference object with which to compare.
other
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public String[]

Returns:

the array of alias names, or null if none
getAliases
()

Return the alias names for the bean, as specified directly for the bean definition.

public BeanDefinition
getBeanDefinition()

Return the wrapped BeanDefinition.

public String
getBeanName()

Return the primary name of the bean, as specified for the bean definition.

public String
getLongDescription()

Return a long description for the bean, including name and aliases as well as a description of the contained BeanDefinition.

public String
getShortDescription()

Return a friendly, short description for the bean, stating name and aliases.

public Object
getSource()

Overrides default org.springframework.beans.BeanMetadataElement.getSource.

Expose the bean definition's source object.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public boolean
matchesName(String candidateName)

Determine whether the given candidate name matches the bean name or the aliases stored in this bean definition.

public String
toString()

Overrides java.lang.Object.toString.

This implementation returns the long description.

Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

aliasesback to summary
private final String[] aliases
Annotations
@Nullable
beanDefinitionback to summary
private final BeanDefinition beanDefinition
beanNameback to summary
private final String beanName

Constructor Detail

BeanDefinitionHolderback to summary
public BeanDefinitionHolder(BeanDefinition beanDefinition, String beanName)

Create a new BeanDefinitionHolder.

Parameters
beanDefinition:BeanDefinition

the BeanDefinition to wrap

beanName:String

the name of the bean, as specified for the bean definition

BeanDefinitionHolderback to summary
public BeanDefinitionHolder(BeanDefinition beanDefinition, String beanName, String[] aliases)

Create a new BeanDefinitionHolder.

Parameters
beanDefinition:BeanDefinition

the BeanDefinition to wrap

beanName:String

the name of the bean, as specified for the bean definition

aliases:String[]

alias names for the bean, or null if none

BeanDefinitionHolderback to summary
public BeanDefinitionHolder(BeanDefinitionHolder beanDefinitionHolder)

Copy constructor: Create a new BeanDefinitionHolder with the same contents as the given BeanDefinitionHolder instance.

Note

The wrapped BeanDefinition reference is taken as-is; it is not deeply copied.

Parameters
beanDefinitionHolder:BeanDefinitionHolder

the BeanDefinitionHolder to copy

Method Detail

equalsback to summary
public boolean equals(Object other)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
other:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
getAliasesback to summary
public String[] getAliases()

Return the alias names for the bean, as specified directly for the bean definition.

Returns:String[]

the array of alias names, or null if none

Annotations
@Nullable
getBeanDefinitionback to summary
public BeanDefinition getBeanDefinition()

Return the wrapped BeanDefinition.

getBeanNameback to summary
public String getBeanName()

Return the primary name of the bean, as specified for the bean definition.

getLongDescriptionback to summary
public String getLongDescription()

Return a long description for the bean, including name and aliases as well as a description of the contained BeanDefinition.

See Also
getShortDescription(), getBeanDefinition()
getShortDescriptionback to summary
public String getShortDescription()

Return a friendly, short description for the bean, stating name and aliases.

See Also
getBeanName(), getAliases()
getSourceback to summary
public Object getSource()

Overrides default org.springframework.beans.BeanMetadataElement.getSource.

Expose the bean definition's source object.

Annotations
@Override
@Nullable
See Also
BeanDefinition#getSource()
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
matchesNameback to summary
public boolean matchesName(String candidateName)

Determine whether the given candidate name matches the bean name or the aliases stored in this bean definition.

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

This implementation returns the long description. Can be overridden to return the short description or any kind of custom description instead.

Returns:String

Doc from java.lang.Object.toString.

a string representation of the object

Annotations
@Override
See Also
getLongDescription(), getShortDescription()