Top Description Inners Fields Constructors Methods
org.springframework.beans.factory.support

public final Class RegisteredBean

extends Object
Class Inheritance
Imports
java.lang.reflect.Executable, java.util.Set, java.util.function.BiFunction, .Supplier, org.springframework.beans.TypeConverter, org.springframework.beans.factory.BeanFactory, org.springframework.beans.factory.config.BeanDefinition, .BeanDefinitionHolder, .ConfigurableListableBeanFactory, .DependencyDescriptor, org.springframework.core.ResolvableType, org.springframework.core.style.ToStringCreator, org.springframework.lang.Nullable, org.springframework.util.Assert, .ClassUtils, .StringUtils

A RegisteredBean represents a bean that has been registered with a BeanFactory, but has not necessarily been instantiated. It provides access to the bean factory that contains the bean as well as the bean name. In the case of inner-beans, the bean name may have been generated.
Author
Phillip Webb
Since
6.0

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
RegisteredBean.InnerBeanResolver

Resolver used to obtain inner-bean details.

Field Summary

Modifier and TypeField and Description
private final ConfigurableListableBeanFactory
private final Supplier<String>
private final boolean
private final Supplier<RootBeanDefinition>
private final RegisteredBean

Constructor Summary

AccessConstructor and Description
private
RegisteredBean(ConfigurableListableBeanFactory beanFactory, Supplier<String> beanName, boolean generatedBeanName, Supplier<RootBeanDefinition> mergedBeanDefinition, RegisteredBean parent)

Method Summary

Modifier and TypeMethod and Description
public Class<?>

Returns:

the bean class
getBeanClass
()

Return the user-defined class of the bean.

public ConfigurableListableBeanFactory

Returns:

the bean factory
getBeanFactory
()

Return the bean factory containing the bean.

public String

Returns:

the beanName the bean name
getBeanName
()

Return the name of the bean.

public ResolvableType

Returns:

the bean type
getBeanType
()

Return the ResolvableType of the bean.

public RootBeanDefinition

Returns:

the merged bean definition
getMergedBeanDefinition
()

Return the merged bean definition of the bean.

public RegisteredBean

Returns:

the parent
getParent
()

Return the parent of this instance or null if not an inner-bean.

public boolean

Returns:

true if the name was generated
isGeneratedBeanName
()

Return if the bean name is generated.

public boolean

Returns:

if an inner-bean
isInnerBean
()

Return if this instance is for an inner-bean.

public static RegisteredBean

Returns:

a new RegisteredBean instance
of
(ConfigurableListableBeanFactory
the source bean factory
beanFactory
,
String
the bean name
beanName
)

Create a new RegisteredBean instance for a regular bean.

pack-priv static RegisteredBean

Returns:

a new RegisteredBean instance
of
(ConfigurableListableBeanFactory
the source bean factory
beanFactory
,
String
the bean name
beanName
,
RootBeanDefinition
the pre-determined merged bean definition
mbd
)

Create a new RegisteredBean instance for a regular bean.

public static RegisteredBean

Returns:

a new RegisteredBean instance
ofInnerBean
(RegisteredBean
the parent of the inner-bean
parent
,
BeanDefinitionHolder
a BeanDefinitionHolder for the inner bean
innerBean
)

Create a new RegisteredBean instance for an inner-bean.

public static RegisteredBean

Returns:

a new RegisteredBean instance
ofInnerBean
(RegisteredBean
the parent of the inner-bean
parent
,
BeanDefinition
the inner-bean definition
innerBeanDefinition
)

Create a new RegisteredBean instance for an inner-bean.

public static RegisteredBean

Returns:

a new RegisteredBean instance
ofInnerBean
(RegisteredBean
the parent of the inner-bean
parent
,
String
the name of the inner bean or null to generate a name
innerBeanName
,
BeanDefinition
the inner-bean definition
innerBeanDefinition
)

Create a new RegisteredBean instance for an inner-bean.

public Object

Returns:

the resolved object, or null if none found
resolveAutowiredArgument
(DependencyDescriptor
the descriptor for the dependency (field/method/constructor)
descriptor
,
TypeConverter
the TypeConverter to use for populating arrays and collections
typeConverter
,
Set<String>
a Set that all names of autowired beans (used for resolving the given dependency) are supposed to be added to
autowiredBeanNames
)

Resolve an autowired argument.

public Executable
resolveConstructorOrFactoryMethod()

Resolve the constructor or factory method to use for this bean.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

beanFactoryback to summary
private final ConfigurableListableBeanFactory beanFactory
beanNameback to summary
private final Supplier<String> beanName
generatedBeanNameback to summary
private final boolean generatedBeanName
mergedBeanDefinitionback to summary
private final Supplier<RootBeanDefinition> mergedBeanDefinition
parentback to summary
private final RegisteredBean parent
Annotations
@Nullable

Constructor Detail

RegisteredBeanback to summary
private RegisteredBean(ConfigurableListableBeanFactory beanFactory, Supplier<String> beanName, boolean generatedBeanName, Supplier<RootBeanDefinition> mergedBeanDefinition, RegisteredBean parent)

Method Detail

getBeanClassback to summary
public Class<?> getBeanClass()

Return the user-defined class of the bean.

Returns:Class<?>

the bean class

getBeanFactoryback to summary
public ConfigurableListableBeanFactory getBeanFactory()

Return the bean factory containing the bean.

Returns:ConfigurableListableBeanFactory

the bean factory

getBeanNameback to summary
public String getBeanName()

Return the name of the bean.

Returns:String

the beanName the bean name

getBeanTypeback to summary
public ResolvableType getBeanType()

Return the ResolvableType of the bean.

Returns:ResolvableType

the bean type

getMergedBeanDefinitionback to summary
public RootBeanDefinition getMergedBeanDefinition()

Return the merged bean definition of the bean.

Returns:RootBeanDefinition

the merged bean definition

See Also
ConfigurableListableBeanFactory#getMergedBeanDefinition(String)
getParentback to summary
public RegisteredBean getParent()

Return the parent of this instance or null if not an inner-bean.

Returns:RegisteredBean

the parent

Annotations
@Nullable
isGeneratedBeanNameback to summary
public boolean isGeneratedBeanName()

Return if the bean name is generated.

Returns:boolean

true if the name was generated

isInnerBeanback to summary
public boolean isInnerBean()

Return if this instance is for an inner-bean.

Returns:boolean

if an inner-bean

ofback to summary
public static RegisteredBean of(ConfigurableListableBeanFactory beanFactory, String beanName)

Create a new RegisteredBean instance for a regular bean.

Parameters
beanFactory:ConfigurableListableBeanFactory

the source bean factory

beanName:String

the bean name

Returns:RegisteredBean

a new RegisteredBean instance

ofback to summary
pack-priv static RegisteredBean of(ConfigurableListableBeanFactory beanFactory, String beanName, RootBeanDefinition mbd)

Create a new RegisteredBean instance for a regular bean.

Parameters
beanFactory:ConfigurableListableBeanFactory

the source bean factory

beanName:String

the bean name

mbd:RootBeanDefinition

the pre-determined merged bean definition

Returns:RegisteredBean

a new RegisteredBean instance

Since
6.0.7
ofInnerBeanback to summary
public static RegisteredBean ofInnerBean(RegisteredBean parent, BeanDefinitionHolder innerBean)

Create a new RegisteredBean instance for an inner-bean.

Parameters
parent:RegisteredBean

the parent of the inner-bean

innerBean:BeanDefinitionHolder

a BeanDefinitionHolder for the inner bean

Returns:RegisteredBean

a new RegisteredBean instance

ofInnerBeanback to summary
public static RegisteredBean ofInnerBean(RegisteredBean parent, BeanDefinition innerBeanDefinition)

Create a new RegisteredBean instance for an inner-bean.

Parameters
parent:RegisteredBean

the parent of the inner-bean

innerBeanDefinition:BeanDefinition

the inner-bean definition

Returns:RegisteredBean

a new RegisteredBean instance

ofInnerBeanback to summary
public static RegisteredBean ofInnerBean(RegisteredBean parent, String innerBeanName, BeanDefinition innerBeanDefinition)

Create a new RegisteredBean instance for an inner-bean.

Parameters
parent:RegisteredBean

the parent of the inner-bean

innerBeanName:String

the name of the inner bean or null to generate a name

innerBeanDefinition:BeanDefinition

the inner-bean definition

Returns:RegisteredBean

a new RegisteredBean instance

resolveAutowiredArgumentback to summary
public Object resolveAutowiredArgument(DependencyDescriptor descriptor, TypeConverter typeConverter, Set<String> autowiredBeanNames)

Resolve an autowired argument.

Parameters
descriptor:DependencyDescriptor

the descriptor for the dependency (field/method/constructor)

typeConverter:TypeConverter

the TypeConverter to use for populating arrays and collections

autowiredBeanNames:Set<String>

a Set that all names of autowired beans (used for resolving the given dependency) are supposed to be added to

Returns:Object

the resolved object, or null if none found

Annotations
@Nullable
Since
6.0.9
resolveConstructorOrFactoryMethodback to summary
public Executable resolveConstructorOrFactoryMethod()

Resolve the constructor or factory method to use for this bean.

Returns:Executable

the java.lang.reflect.Constructor or java.lang.reflect.Method

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override
org.springframework.beans.factory.support back to summary

private Class RegisteredBean.InnerBeanResolver

extends Object
Class Inheritance
  • java.lang.Object
  • org.springframework.beans.factory.support.RegisteredBean.InnerBeanResolver

Resolver used to obtain inner-bean details.

Field Summary

Modifier and TypeField and Description
private final BeanDefinition
private final String
private final RegisteredBean
private volatile String

Constructor Summary

AccessConstructor and Description
pack-priv
InnerBeanResolver(RegisteredBean parent, String innerBeanName, BeanDefinition innerBeanDefinition)

Method Summary

Modifier and TypeMethod and Description
pack-priv String
private <T> T
pack-priv RootBeanDefinition
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

innerBeanDefinitionback to summary
private final BeanDefinition innerBeanDefinition
innerBeanNameback to summary
private final String innerBeanName
Annotations
@Nullable
parentback to summary
private final RegisteredBean parent
resolvedBeanNameback to summary
private volatile String resolvedBeanName
Annotations
@Nullable

Constructor Detail

InnerBeanResolverback to summary
pack-priv InnerBeanResolver(RegisteredBean parent, String innerBeanName, BeanDefinition innerBeanDefinition)

Method Detail

resolveBeanNameback to summary
pack-priv String resolveBeanName()
resolveInnerBeanback to summary
private <T> T resolveInnerBean(BiFunction<String, RootBeanDefinition, T> resolver)
resolveMergedBeanDefinitionback to summary
pack-priv RootBeanDefinition resolveMergedBeanDefinition()