From ed98393fb2a4196c5846ca25e3ded32f66e0533b Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 23 Feb 2016 14:30:30 +0100 Subject: [PATCH] SmartObjectFactory renamed to ObjectProvider (extends ObjectFactory) Issue: SPR-13943 Issue: SPR-13956 --- ...ObjectFactory.java => ObjectProvider.java} | 2 +- .../support/DefaultListableBeanFactory.java | 22 +++++++++---------- ...wiredAnnotationBeanPostProcessorTests.java | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-) rename spring-beans/src/main/java/org/springframework/beans/factory/{SmartObjectFactory.java => ObjectProvider.java} (96%) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/SmartObjectFactory.java b/spring-beans/src/main/java/org/springframework/beans/factory/ObjectProvider.java similarity index 96% rename from spring-beans/src/main/java/org/springframework/beans/factory/SmartObjectFactory.java rename to spring-beans/src/main/java/org/springframework/beans/factory/ObjectProvider.java index e4dc51745156..ffa2683e31f6 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/SmartObjectFactory.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/ObjectProvider.java @@ -25,7 +25,7 @@ * @author Juergen Hoeller * @since 4.3 */ -public interface SmartObjectFactory extends ObjectFactory { +public interface ObjectProvider extends ObjectFactory { /** * Return an instance (possibly shared or independent) of the object diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java index 647a8c069d04..72b8c99b5f53 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java @@ -57,9 +57,9 @@ import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.beans.factory.NoUniqueBeanDefinitionException; import org.springframework.beans.factory.ObjectFactory; +import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.SmartFactoryBean; import org.springframework.beans.factory.SmartInitializingSingleton; -import org.springframework.beans.factory.SmartObjectFactory; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.config.BeanDefinitionHolder; import org.springframework.beans.factory.config.ConfigurableBeanFactory; @@ -1005,11 +1005,11 @@ public Object resolveDependency(DependencyDescriptor descriptor, String beanName return new OptionalDependencyFactory().createOptionalDependency(descriptor, beanName); } else if (ObjectFactory.class == descriptor.getDependencyType() || - SmartObjectFactory.class == descriptor.getDependencyType()) { - return new DependencyObjectFactory(descriptor, beanName); + ObjectProvider.class == descriptor.getDependencyType()) { + return new DependencyObjectProvider(descriptor, beanName); } else if (javaxInjectProviderClass == descriptor.getDependencyType()) { - return new DependencyProviderFactory().createDependencyProvider(descriptor, beanName); + return new Jsr330ProviderFactory().createDependencyProvider(descriptor, beanName); } else { Object result = getAutowireCandidateResolver().getLazyResolutionProxyIfNecessary(descriptor, beanName); @@ -1481,9 +1481,9 @@ public Object resolveCandidate(String beanName, BeanFactory beanFactory) { /** - * Serializable ObjectFactory for lazy resolution of a dependency. + * Serializable ObjectFactory/ObjectProvider for lazy resolution of a dependency. */ - private class DependencyObjectFactory implements SmartObjectFactory, Serializable { + private class DependencyObjectProvider implements ObjectProvider, Serializable { private final DependencyDescriptor descriptor; @@ -1491,7 +1491,7 @@ private class DependencyObjectFactory implements SmartObjectFactory, Ser private final String beanName; - public DependencyObjectFactory(DependencyDescriptor descriptor, String beanName) { + public DependencyObjectProvider(DependencyDescriptor descriptor, String beanName) { this.descriptor = new DependencyDescriptor(descriptor); this.descriptor.increaseNestingLevel(); this.optional = this.descriptor.getDependencyType().equals(javaUtilOptionalClass); @@ -1565,9 +1565,9 @@ public Object resolveNotUnique(Class type, Map matchingBeans) /** * Serializable ObjectFactory for lazy resolution of a dependency. */ - private class DependencyProvider extends DependencyObjectFactory implements Provider { + private class Jsr330DependencyProvider extends DependencyObjectProvider implements Provider { - public DependencyProvider(DependencyDescriptor descriptor, String beanName) { + public Jsr330DependencyProvider(DependencyDescriptor descriptor, String beanName) { super(descriptor, beanName); } @@ -1581,10 +1581,10 @@ public Object get() throws BeansException { /** * Separate inner class for avoiding a hard dependency on the {@code javax.inject} API. */ - private class DependencyProviderFactory { + private class Jsr330ProviderFactory { public Object createDependencyProvider(DependencyDescriptor descriptor, String beanName) { - return new DependencyProvider(descriptor, beanName); + return new Jsr330DependencyProvider(descriptor, beanName); } } diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java index 48bb4f5cd97e..928737e6ea3d 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java @@ -45,7 +45,7 @@ import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.beans.factory.NoUniqueBeanDefinitionException; import org.springframework.beans.factory.ObjectFactory; -import org.springframework.beans.factory.SmartObjectFactory; +import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.UnsatisfiedDependencyException; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; @@ -2570,7 +2570,7 @@ public TestBean getTestBean() { public static class SmartObjectFactoryInjectionBean { @Autowired - private SmartObjectFactory testBeanFactory; + private ObjectProvider testBeanFactory; public TestBean getTestBean() { return this.testBeanFactory.getObject();