com.atlassian.confluence.setup
Class ConfluenceListableBeanFactory

java.lang.Object
  extended by org.springframework.core.SimpleAliasRegistry
      extended by org.springframework.beans.factory.support.DefaultSingletonBeanRegistry
          extended by org.springframework.beans.factory.support.FactoryBeanRegistrySupport
              extended by org.springframework.beans.factory.support.AbstractBeanFactory
                  extended by org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
                      extended by org.springframework.beans.factory.support.DefaultListableBeanFactory
                          extended by com.atlassian.confluence.setup.ConfluenceListableBeanFactory
All Implemented Interfaces:
org.springframework.beans.factory.BeanFactory, org.springframework.beans.factory.config.AutowireCapableBeanFactory, org.springframework.beans.factory.config.ConfigurableBeanFactory, org.springframework.beans.factory.config.ConfigurableListableBeanFactory, org.springframework.beans.factory.config.SingletonBeanRegistry, org.springframework.beans.factory.HierarchicalBeanFactory, org.springframework.beans.factory.ListableBeanFactory, org.springframework.beans.factory.support.BeanDefinitionRegistry, org.springframework.core.AliasRegistry

public class ConfluenceListableBeanFactory
extends org.springframework.beans.factory.support.DefaultListableBeanFactory

Our own BeanFactory to enable the unregistering of child beans, as well as autowiring and more efficient toString().


Field Summary
static org.springframework.beans.factory.config.BeanDefinition NULL_OBJECT
           
 
Fields inherited from class org.springframework.beans.factory.support.DefaultSingletonBeanRegistry
logger
 
Fields inherited from interface org.springframework.beans.factory.config.AutowireCapableBeanFactory
AUTOWIRE_AUTODETECT, AUTOWIRE_BY_NAME, AUTOWIRE_BY_TYPE, AUTOWIRE_CONSTRUCTOR, AUTOWIRE_NO
 
Fields inherited from interface org.springframework.beans.factory.config.ConfigurableBeanFactory
SCOPE_PROTOTYPE, SCOPE_SINGLETON
 
Fields inherited from interface org.springframework.beans.factory.BeanFactory
FACTORY_BEAN_PREFIX
 
Constructor Summary
ConfluenceListableBeanFactory(org.springframework.beans.factory.BeanFactory internalParentBeanFactory)
           
 
Method Summary
protected  void addSingleton(String beanName, Object singletonObject)
           
protected  void addSingletonFactory(String beanName, org.springframework.beans.factory.ObjectFactory singletonFactory)
           
 void autowireNonSingletonBeanProperties(Object existingBean, int autowireMode, boolean dependencyCheck)
          Deprecated. Use AbstractAutowireCapableBeanFactory.autowireBeanProperties(Object, int, boolean) instead.
 boolean containsBeanDefinition(String beanName)
          Since you can't actually unregisterBeans we use a NULL_OBJECT to represent deleted ones.
 void flushBeanNamesForTypeCache()
          Clears the bean name for type cache.
 String[] getBeanNamesForType(Class type, boolean includeNonSingletons, boolean allowEagerInit)
           
 void registerBeanDefinition(String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition)
           
 void registerSingleton(String beanName, Object singletonObject)
           
 void removeAlias(String alias)
           
 void removeBeanDefinition(String beanName)
           
protected  void removeSingleton(String beanName)
           
protected  boolean removeSingletonIfCreatedForTypeCheckOnly(String beanName)
           
protected  void resetBeanDefinition(String beanName)
           
 String toString()
           
 void unregisterBeanDefinition(String beanAlias)
           
 
Methods inherited from class org.springframework.beans.factory.support.DefaultListableBeanFactory
allowAliasOverriding, copyConfigurationFrom, determinePrimaryCandidate, findAutowireCandidates, freezeConfiguration, getAutowireCandidateResolver, getBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForType, getBeansOfType, getBeansOfType, isAutowireCandidate, isAutowireCandidate, isBeanEligibleForMetadataCaching, isConfigurationFrozen, isPrimary, preInstantiateSingletons, registerResolvableDependency, resolveDependency, setAllowBeanDefinitionOverriding, setAllowEagerClassLoading, setAutowireCandidateResolver
 
Methods inherited from class org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
applyBeanPostProcessorsAfterInitialization, applyBeanPostProcessorsBeforeInitialization, applyBeanPostProcessorsBeforeInstantiation, applyBeanPropertyValues, applyMergedBeanDefinitionPostProcessors, applyPropertyValues, autowire, autowireBean, autowireBeanProperties, autowireByName, autowireByType, autowireConstructor, checkDependencies, configureBean, createBean, createBean, createBean, createBeanInstance, determineConstructorsFromBeanPostProcessors, doCreateBean, filterPropertyDescriptorsForDependencyCheck, getEarlyBeanReference, getInstantiationStrategy, getTypeForFactoryBean, getTypeForFactoryMethod, ignoreDependencyInterface, ignoreDependencyType, initializeBean, initializeBean, instantiateBean, instantiateUsingFactoryMethod, invokeCustomInitMethod, invokeInitMethods, isExcludedFromDependencyCheck, populateBean, postProcessObjectFromFactoryBean, predictBeanType, resolveBeforeInstantiation, resolveDependency, setAllowCircularReferences, setAllowRawInjectionDespiteWrapping, setInstantiationStrategy, unsatisfiedNonSimpleProperties
 
Methods inherited from class org.springframework.beans.factory.support.AbstractBeanFactory
addBeanPostProcessor, addPropertyEditorRegistrar, afterPrototypeCreation, beforePrototypeCreation, checkMergedBeanDefinition, clearMergedBeanDefinition, containsBean, containsLocalBean, copyRegisteredEditorsTo, destroyBean, destroyBean, destroyScopedBean, doGetBean, getAliases, getBean, getBean, getBean, getBean, getBeanClassLoader, getBeanPostProcessorCount, getBeanPostProcessors, getCustomEditors, getCustomTypeConverter, getMergedBeanDefinition, getMergedBeanDefinition, getMergedBeanDefinition, getMergedLocalBeanDefinition, getObjectForBeanInstance, getParentBeanFactory, getPropertyEditorRegistrars, getRegisteredScope, getRegisteredScopeNames, getTempClassLoader, getType, getTypeConverter, hasDestructionAwareBeanPostProcessors, hasInstantiationAwareBeanPostProcessors, initBeanWrapper, isBeanNameInUse, isCacheBeanMetadata, isCurrentlyInCreation, isFactoryBean, isFactoryBean, isPrototype, isPrototypeCurrentlyInCreation, isSingleton, isTypeMatch, markBeanAsCreated, originalBeanName, registerCustomEditor, registerCustomEditor, registerCustomEditors, registerDisposableBeanIfNecessary, registerScope, requiresDestruction, resolveBeanClass, resolveBeanClass, setBeanClassLoader, setCacheBeanMetadata, setParentBeanFactory, setTempClassLoader, setTypeConverter, transformedBeanName
 
Methods inherited from class org.springframework.beans.factory.support.FactoryBeanRegistrySupport
getCachedObjectForFactoryBean, getFactoryBean, getObjectFromFactoryBean, getTypeForFactoryBean
 
Methods inherited from class org.springframework.beans.factory.support.DefaultSingletonBeanRegistry
afterSingletonCreation, beforeSingletonCreation, containsSingleton, destroyBean, destroySingleton, destroySingletons, getDependenciesForBean, getDependentBeans, getSingleton, getSingleton, getSingleton, getSingletonCount, getSingletonMutex, getSingletonNames, hasDependentBean, isSingletonCurrentlyInCreation, onSuppressedException, registerContainedBean, registerDependentBean, registerDisposableBean
 
Methods inherited from class org.springframework.core.SimpleAliasRegistry
canonicalName, isAlias, registerAlias, resolveAliases
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.springframework.beans.factory.config.ConfigurableListableBeanFactory
ignoreDependencyInterface, ignoreDependencyType
 
Methods inherited from interface org.springframework.beans.factory.config.AutowireCapableBeanFactory
applyBeanPostProcessorsAfterInitialization, applyBeanPostProcessorsBeforeInitialization, applyBeanPropertyValues, autowire, autowireBean, autowireBeanProperties, configureBean, createBean, createBean, initializeBean, resolveDependency
 
Methods inherited from interface org.springframework.beans.factory.config.ConfigurableBeanFactory
addBeanPostProcessor, addPropertyEditorRegistrar, copyRegisteredEditorsTo, destroyBean, destroyScopedBean, destroySingletons, getBeanClassLoader, getBeanPostProcessorCount, getDependenciesForBean, getDependentBeans, getMergedBeanDefinition, getRegisteredScope, getRegisteredScopeNames, getTempClassLoader, getTypeConverter, isCacheBeanMetadata, isCurrentlyInCreation, isFactoryBean, registerAlias, registerCustomEditor, registerCustomEditor, registerDependentBean, registerScope, resolveAliases, setBeanClassLoader, setCacheBeanMetadata, setParentBeanFactory, setTempClassLoader, setTypeConverter
 
Methods inherited from interface org.springframework.beans.factory.HierarchicalBeanFactory
containsLocalBean, getParentBeanFactory
 
Methods inherited from interface org.springframework.beans.factory.BeanFactory
containsBean, getAliases, getBean, getBean, getBean, getType, isPrototype, isSingleton, isTypeMatch
 
Methods inherited from interface org.springframework.beans.factory.config.SingletonBeanRegistry
containsSingleton, getSingleton, getSingletonCount, getSingletonNames
 
Methods inherited from interface org.springframework.beans.factory.support.BeanDefinitionRegistry
isBeanNameInUse
 
Methods inherited from interface org.springframework.core.AliasRegistry
getAliases, isAlias, registerAlias
 

Field Detail

NULL_OBJECT

public static final org.springframework.beans.factory.config.BeanDefinition NULL_OBJECT
Constructor Detail

ConfluenceListableBeanFactory

public ConfluenceListableBeanFactory(org.springframework.beans.factory.BeanFactory internalParentBeanFactory)
Method Detail

toString

public String toString()
Overrides:
toString in class org.springframework.beans.factory.support.DefaultListableBeanFactory

autowireNonSingletonBeanProperties

@Deprecated
public void autowireNonSingletonBeanProperties(Object existingBean,
                                                          int autowireMode,
                                                          boolean dependencyCheck)
                                        throws org.springframework.beans.BeansException
Deprecated. Use AbstractAutowireCapableBeanFactory.autowireBeanProperties(Object, int, boolean) instead.

Throws:
org.springframework.beans.BeansException
Since:
2.8

unregisterBeanDefinition

public void unregisterBeanDefinition(String beanAlias)

registerBeanDefinition

public void registerBeanDefinition(String beanName,
                                   org.springframework.beans.factory.config.BeanDefinition beanDefinition)
                            throws org.springframework.beans.factory.BeanDefinitionStoreException
Specified by:
registerBeanDefinition in interface org.springframework.beans.factory.support.BeanDefinitionRegistry
Overrides:
registerBeanDefinition in class org.springframework.beans.factory.support.DefaultListableBeanFactory
Throws:
org.springframework.beans.factory.BeanDefinitionStoreException

removeBeanDefinition

public void removeBeanDefinition(String beanName)
                          throws org.springframework.beans.factory.NoSuchBeanDefinitionException
Specified by:
removeBeanDefinition in interface org.springframework.beans.factory.support.BeanDefinitionRegistry
Overrides:
removeBeanDefinition in class org.springframework.beans.factory.support.DefaultListableBeanFactory
Throws:
org.springframework.beans.factory.NoSuchBeanDefinitionException

resetBeanDefinition

protected void resetBeanDefinition(String beanName)
Overrides:
resetBeanDefinition in class org.springframework.beans.factory.support.DefaultListableBeanFactory

removeSingletonIfCreatedForTypeCheckOnly

protected boolean removeSingletonIfCreatedForTypeCheckOnly(String beanName)
Overrides:
removeSingletonIfCreatedForTypeCheckOnly in class org.springframework.beans.factory.support.AbstractBeanFactory

registerSingleton

public void registerSingleton(String beanName,
                              Object singletonObject)
                       throws IllegalStateException
Specified by:
registerSingleton in interface org.springframework.beans.factory.config.SingletonBeanRegistry
Overrides:
registerSingleton in class org.springframework.beans.factory.support.DefaultSingletonBeanRegistry
Throws:
IllegalStateException

removeAlias

public void removeAlias(String alias)
Specified by:
removeAlias in interface org.springframework.core.AliasRegistry
Overrides:
removeAlias in class org.springframework.core.SimpleAliasRegistry

containsBeanDefinition

public boolean containsBeanDefinition(String beanName)
Since you can't actually unregisterBeans we use a NULL_OBJECT to represent deleted ones. Override this method to understand this hackery.

Specified by:
containsBeanDefinition in interface org.springframework.beans.factory.ListableBeanFactory
Specified by:
containsBeanDefinition in interface org.springframework.beans.factory.support.BeanDefinitionRegistry
Overrides:
containsBeanDefinition in class org.springframework.beans.factory.support.DefaultListableBeanFactory

flushBeanNamesForTypeCache

public void flushBeanNamesForTypeCache()
Clears the bean name for type cache.


removeSingleton

protected void removeSingleton(String beanName)
Overrides:
removeSingleton in class org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory

addSingletonFactory

protected void addSingletonFactory(String beanName,
                                   org.springframework.beans.factory.ObjectFactory singletonFactory)
Overrides:
addSingletonFactory in class org.springframework.beans.factory.support.DefaultSingletonBeanRegistry

addSingleton

protected void addSingleton(String beanName,
                            Object singletonObject)
Overrides:
addSingleton in class org.springframework.beans.factory.support.DefaultSingletonBeanRegistry

getBeanNamesForType

public String[] getBeanNamesForType(Class type,
                                    boolean includeNonSingletons,
                                    boolean allowEagerInit)
Specified by:
getBeanNamesForType in interface org.springframework.beans.factory.ListableBeanFactory
Overrides:
getBeanNamesForType in class org.springframework.beans.factory.support.DefaultListableBeanFactory


Copyright © 2003-2012 Atlassian. All Rights Reserved.