Delete duplicate DummyFactory
This commit is contained in:
		
							parent
							
								
									08a99e275e
								
							
						
					
					
						commit
						4b7d1e3a2c
					
				|  | @ -1,187 +0,0 @@ | |||
| /* | ||||
|  * Copyright 2002-2023 the original author or authors. | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *      https://www.apache.org/licenses/LICENSE-2.0 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
| 
 | ||||
| package org.springframework.beans.testfixture.beans; | ||||
| 
 | ||||
| import org.springframework.beans.BeansException; | ||||
| import org.springframework.beans.factory.BeanFactory; | ||||
| import org.springframework.beans.factory.BeanFactoryAware; | ||||
| import org.springframework.beans.factory.BeanNameAware; | ||||
| import org.springframework.beans.factory.DisposableBean; | ||||
| import org.springframework.beans.factory.FactoryBean; | ||||
| import org.springframework.beans.factory.InitializingBean; | ||||
| import org.springframework.beans.factory.config.AutowireCapableBeanFactory; | ||||
| 
 | ||||
| /** | ||||
|  * Simple factory to allow testing of FactoryBean support in AbstractBeanFactory. | ||||
|  * Depending on whether its singleton property is set, it will return a singleton | ||||
|  * or a prototype instance. | ||||
|  * | ||||
|  * <p>Implements InitializingBean interface, so we can check that | ||||
|  * factories get this lifecycle callback if they want. | ||||
|  * | ||||
|  * @author Rod Johnson | ||||
|  * @author Chris Beams | ||||
|  * @since 10.03.2003 | ||||
|  */ | ||||
| public class DummyFactory | ||||
| 		implements FactoryBean<Object>, BeanNameAware, BeanFactoryAware, InitializingBean, DisposableBean { | ||||
| 
 | ||||
| 	public static final String SINGLETON_NAME = "Factory singleton"; | ||||
| 
 | ||||
| 	private static boolean prototypeCreated; | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Clear static state. | ||||
| 	 */ | ||||
| 	public static void reset() { | ||||
| 		prototypeCreated = false; | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Default is for factories to return a singleton instance. | ||||
| 	 */ | ||||
| 	private boolean singleton = true; | ||||
| 
 | ||||
| 	private String beanName; | ||||
| 
 | ||||
| 	private AutowireCapableBeanFactory beanFactory; | ||||
| 
 | ||||
| 	private boolean postProcessed; | ||||
| 
 | ||||
| 	private boolean initialized; | ||||
| 
 | ||||
| 	private TestBean testBean; | ||||
| 
 | ||||
| 	private TestBean otherTestBean; | ||||
| 
 | ||||
| 
 | ||||
| 	public DummyFactory() { | ||||
| 		this.testBean = new TestBean(); | ||||
| 		this.testBean.setName(SINGLETON_NAME); | ||||
| 		this.testBean.setAge(25); | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Return if the bean managed by this factory is a singleton. | ||||
| 	 * @see FactoryBean#isSingleton() | ||||
| 	 */ | ||||
| 	@Override | ||||
| 	public boolean isSingleton() { | ||||
| 		return this.singleton; | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Set if the bean managed by this factory is a singleton. | ||||
| 	 */ | ||||
| 	public void setSingleton(boolean singleton) { | ||||
| 		this.singleton = singleton; | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	public void setBeanName(String beanName) { | ||||
| 		this.beanName = beanName; | ||||
| 	} | ||||
| 
 | ||||
| 	public String getBeanName() { | ||||
| 		return beanName; | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	@SuppressWarnings("deprecation") | ||||
| 	public void setBeanFactory(BeanFactory beanFactory) { | ||||
| 		this.beanFactory = (AutowireCapableBeanFactory) beanFactory; | ||||
| 		this.beanFactory.applyBeanPostProcessorsBeforeInitialization(this.testBean, this.beanName); | ||||
| 	} | ||||
| 
 | ||||
| 	public BeanFactory getBeanFactory() { | ||||
| 		return beanFactory; | ||||
| 	} | ||||
| 
 | ||||
| 	public void setPostProcessed(boolean postProcessed) { | ||||
| 		this.postProcessed = postProcessed; | ||||
| 	} | ||||
| 
 | ||||
| 	public boolean isPostProcessed() { | ||||
| 		return postProcessed; | ||||
| 	} | ||||
| 
 | ||||
| 	public void setOtherTestBean(TestBean otherTestBean) { | ||||
| 		this.otherTestBean = otherTestBean; | ||||
| 		this.testBean.setSpouse(otherTestBean); | ||||
| 	} | ||||
| 
 | ||||
| 	public TestBean getOtherTestBean() { | ||||
| 		return otherTestBean; | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	public void afterPropertiesSet() { | ||||
| 		if (initialized) { | ||||
| 			throw new RuntimeException("Cannot call afterPropertiesSet twice on the one bean"); | ||||
| 		} | ||||
| 		this.initialized = true; | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Was this initialized by invocation of the | ||||
| 	 * afterPropertiesSet() method from the InitializingBean interface? | ||||
| 	 */ | ||||
| 	public boolean wasInitialized() { | ||||
| 		return initialized; | ||||
| 	} | ||||
| 
 | ||||
| 	public static boolean wasPrototypeCreated() { | ||||
| 		return prototypeCreated; | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Return the managed object, supporting both singleton | ||||
| 	 * and prototype mode. | ||||
| 	 * @see FactoryBean#getObject() | ||||
| 	 */ | ||||
| 	@Override | ||||
| 	@SuppressWarnings("deprecation") | ||||
| 	public Object getObject() throws BeansException { | ||||
| 		if (isSingleton()) { | ||||
| 			return this.testBean; | ||||
| 		} | ||||
| 		else { | ||||
| 			TestBean prototype = new TestBean("prototype created at " + System.currentTimeMillis(), 11); | ||||
| 			if (this.beanFactory != null) { | ||||
| 				this.beanFactory.applyBeanPostProcessorsBeforeInitialization(prototype, this.beanName); | ||||
| 			} | ||||
| 			prototypeCreated = true; | ||||
| 			return prototype; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	public Class<?> getObjectType() { | ||||
| 		return TestBean.class; | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 	@Override | ||||
| 	public void destroy() { | ||||
| 		if (this.testBean != null) { | ||||
| 			this.testBean.setName(null); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
		Loading…
	
		Reference in New Issue