Skip to content

Commit

Permalink
SmartObjectFactory renamed to ObjectProvider (extends ObjectFactory)
Browse files Browse the repository at this point in the history
Issue: SPR-13943
Issue: SPR-13956
  • Loading branch information
jhoeller committed Feb 23, 2016
1 parent 1899fb3 commit ed98393
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
* @author Juergen Hoeller
* @since 4.3
*/
public interface SmartObjectFactory<T> extends ObjectFactory<T> {
public interface ObjectProvider<T> extends ObjectFactory<T> {

/**
* Return an instance (possibly shared or independent) of the object
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -1481,17 +1481,17 @@ 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<Object>, Serializable {
private class DependencyObjectProvider implements ObjectProvider<Object>, Serializable {

private final DependencyDescriptor descriptor;

private final boolean optional;

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);
Expand Down Expand Up @@ -1565,9 +1565,9 @@ public Object resolveNotUnique(Class<?> type, Map<String, Object> matchingBeans)
/**
* Serializable ObjectFactory for lazy resolution of a dependency.
*/
private class DependencyProvider extends DependencyObjectFactory implements Provider<Object> {
private class Jsr330DependencyProvider extends DependencyObjectProvider implements Provider<Object> {

public DependencyProvider(DependencyDescriptor descriptor, String beanName) {
public Jsr330DependencyProvider(DependencyDescriptor descriptor, String beanName) {
super(descriptor, beanName);
}

Expand All @@ -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);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -2570,7 +2570,7 @@ public TestBean getTestBean() {
public static class SmartObjectFactoryInjectionBean {

@Autowired
private SmartObjectFactory<TestBean> testBeanFactory;
private ObjectProvider<TestBean> testBeanFactory;

public TestBean getTestBean() {
return this.testBeanFactory.getObject();
Expand Down

0 comments on commit ed98393

Please sign in to comment.