From 2b2cc2d1cae2a465965b5e3a94ae0452aecc920e Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Fri, 16 Sep 2016 10:34:05 +0200 Subject: [PATCH] Rearranged field order in RootBeanDefinition Issue: SPR-14725 --- .../factory/support/RootBeanDefinition.java | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/RootBeanDefinition.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/RootBeanDefinition.java index a5a0abcc01c..863a85cd156 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/support/RootBeanDefinition.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/RootBeanDefinition.java @@ -53,13 +53,13 @@ public class RootBeanDefinition extends AbstractBeanDefinition { private BeanDefinitionHolder decoratedDefinition; - boolean allowCaching = true; + private AnnotatedElement qualifiedElement; - volatile ResolvableType targetType; + boolean allowCaching = true; boolean isFactoryMethodUnique = false; - volatile AnnotatedElement qualifiedElement; + volatile ResolvableType targetType; /** Package-visible field for caching the determined Class of a given bean definition */ volatile Class resolvedTargetType; @@ -182,10 +182,10 @@ public class RootBeanDefinition extends AbstractBeanDefinition { public RootBeanDefinition(RootBeanDefinition original) { super(original); this.decoratedDefinition = original.decoratedDefinition; - this.allowCaching = original.allowCaching; - this.targetType = original.targetType; - this.isFactoryMethodUnique = original.isFactoryMethodUnique; this.qualifiedElement = original.qualifiedElement; + this.allowCaching = original.allowCaching; + this.isFactoryMethodUnique = original.isFactoryMethodUnique; + this.targetType = original.targetType; } /** @@ -224,6 +224,26 @@ public class RootBeanDefinition extends AbstractBeanDefinition { return this.decoratedDefinition; } + /** + * Specify the {@link AnnotatedElement} defining qualifiers, + * to be used instead of the target class or factory method. + * @since 4.3.3 + * @see #setTargetType(ResolvableType) + * @see #getResolvedFactoryMethod() + */ + public void setQualifiedElement(AnnotatedElement qualifiedElement) { + this.qualifiedElement = qualifiedElement; + } + + /** + * Return the {@link AnnotatedElement} defining qualifiers, if any. + * Otherwise, the factory method and target class will be checked. + * @since 4.3.3 + */ + public AnnotatedElement getQualifiedElement() { + return this.qualifiedElement; + } + /** * Specify a generics-containing target type of this bean definition, if known in advance. * @since 4.3.3 @@ -261,22 +281,6 @@ public class RootBeanDefinition extends AbstractBeanDefinition { this.isFactoryMethodUnique = true; } - /** - * Specify the {@link AnnotatedElement} defining qualifiers. - * @since 4.3.3 - */ - public void setQualifiedElement(AnnotatedElement qualifiedElement) { - this.qualifiedElement = qualifiedElement; - } - - /** - * Return the {@link AnnotatedElement} defining qualifiers, if any. - * @since 4.3.3 - */ - public AnnotatedElement getQualifiedElement() { - return this.qualifiedElement; - } - /** * Check whether the given candidate qualifies as a factory method. */