Class BeanDefinitionHolder

java.lang.Object
org.springframework.beans.factory.config.BeanDefinitionHolder
All Implemented Interfaces:
BeanMetadataElement
Direct Known Subclasses:
BeanComponentDefinition

public class BeanDefinitionHolder extends Object implements BeanMetadataElement
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.

Since:
1.0.2
Author:
Juergen Hoeller
See Also:
  • Constructor Details

    • BeanDefinitionHolder

      public BeanDefinitionHolder(BeanDefinition beanDefinition, String beanName)
      Create a new BeanDefinitionHolder.
      Parameters:
      beanDefinition - the BeanDefinition to wrap
      beanName - the name of the bean, as specified for the bean definition
    • BeanDefinitionHolder

      public BeanDefinitionHolder(BeanDefinition beanDefinition, String beanName, String @Nullable [] aliases)
      Create a new BeanDefinitionHolder.
      Parameters:
      beanDefinition - the BeanDefinition to wrap
      beanName - the name of the bean, as specified for the bean definition
      aliases - alias names for the bean, or null if none
    • BeanDefinitionHolder

      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 - the BeanDefinitionHolder to copy
  • Method Details

    • getBeanDefinition

      public BeanDefinition getBeanDefinition()
      Return the wrapped BeanDefinition.
    • getBeanName

      public String getBeanName()
      Return the primary name of the bean, as specified for the bean definition.
    • getAliases

      public String @Nullable [] getAliases()
      Return the alias names for the bean, as specified directly for the bean definition.
      Returns:
      the array of alias names, or null if none
    • getSource

      public @Nullable Object getSource()
      Expose the bean definition's source object.
      Specified by:
      getSource in interface BeanMetadataElement
      See Also:
    • matchesName

      public boolean matchesName(@Nullable String candidateName)
      Determine whether the given candidate name matches the bean name or the aliases stored in this bean definition.
    • getShortDescription

      public String getShortDescription()
      Return a friendly, short description for the bean, stating name and aliases.
      See Also:
    • getLongDescription

      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:
    • toString

      public String toString()
      This implementation returns the long description. Can be overridden to return the short description or any kind of custom description instead.
      Overrides:
      toString in class Object
      See Also:
    • equals

      public boolean equals(@Nullable Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object