Clarify AbstractBeanDefinition.getBeanClass() return semantics

Closes gh-22960
This commit is contained in:
Juergen Hoeller
2019-05-13 18:03:12 +02:00
parent ed3df72d67
commit 4b999cfe95

View File

@@ -362,10 +362,13 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
}
/**
* Return the class of the wrapped bean, if already resolved.
* @return the bean class, or {@code null} if none defined
* Return the class of the wrapped bean (assuming it is resolved already).
* @return the bean class (never {@code null})
* @throws IllegalStateException if the bean definition does not define a bean class,
* or a specified bean class name has not been resolved into an actual Class
* or a specified bean class name has not been resolved into an actual Class yet
* @see #hasBeanClass()
* @see #setBeanClass(Class)
* @see #resolveBeanClass(ClassLoader)
*/
public Class<?> getBeanClass() throws IllegalStateException {
Object beanClassObject = this.beanClass;
@@ -381,6 +384,9 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
/**
* Return whether this definition specifies a bean class.
* @see #getBeanClass()
* @see #setBeanClass(Class)
* @see #resolveBeanClass(ClassLoader)
*/
public boolean hasBeanClass() {
return (this.beanClass instanceof Class);