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(). This class will also remove the bootstrapPluginManager from the autowire candidates pool due to a bug in spring-2.0.8. The bootstrapPluginManager should not be chosen as an autowire candidate. This is because of a bug in spring-2.0.8 where the autowire-candidate attribute is not respected in parent bean factories. see https://jira.springframework.org/browse/SPR-4781


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
 void autowireNonSingletonBeanProperties(java.lang.Object existingBean, int autowireMode, boolean dependencyCheck)
          Deprecated. Use AbstractAutowireCapableBeanFactory.autowireBeanProperties(Object, int, boolean) instead.
 boolean containsBeanDefinition(java.lang.String beanName)
          Since you can't actually unregisterBeans we use a NULL_OBJECT to represent deleted ones.
protected  java.util.Map findAutowireCandidates(java.lang.String beanName, java.lang.Class requiredType)
          The bootstrapPluginManager should not be chosen as an autowire candidate.
 org.springframework.beans.factory.config.BeanDefinition getBeanDefinition(java.lang.String string)
           
 java.lang.String toString()
           
 void unregisterBeanDefinition(java.lang.String beanAlias)
           
 
Methods inherited from class org.springframework.beans.factory.support.DefaultListableBeanFactory
allowAliasOverriding, copyConfigurationFrom, determinePrimaryCandidate, findAutowireCandidates, freezeConfiguration, getAutowireCandidateResolver, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, isAutowireCandidate, isAutowireCandidate, isBeanEligibleForMetadataCaching, isConfigurationFrozen, isPrimary, preInstantiateSingletons, registerBeanDefinition, registerResolvableDependency, removeBeanDefinition, resetBeanDefinition, 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, removeSingleton, 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, removeSingletonIfCreatedForTypeCheckOnly, 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
addSingleton, addSingletonFactory, afterSingletonCreation, beforeSingletonCreation, containsSingleton, destroyBean, destroySingleton, destroySingletons, getDependenciesForBean, getDependentBeans, getSingleton, getSingleton, getSingleton, getSingletonCount, getSingletonMutex, getSingletonNames, hasDependentBean, isSingletonCurrentlyInCreation, onSuppressedException, registerContainedBean, registerDependentBean, registerDisposableBean, registerSingleton
 
Methods inherited from class org.springframework.core.SimpleAliasRegistry
canonicalName, isAlias, registerAlias, removeAlias, 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, registerSingleton
 
Methods inherited from interface org.springframework.beans.factory.support.BeanDefinitionRegistry
isBeanNameInUse
 
Methods inherited from interface org.springframework.core.AliasRegistry
getAliases, isAlias, registerAlias, removeAlias
 

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 java.lang.String toString()
Overrides:
toString in class org.springframework.beans.factory.support.DefaultListableBeanFactory

findAutowireCandidates

protected java.util.Map findAutowireCandidates(java.lang.String beanName,
                                               java.lang.Class requiredType)
The bootstrapPluginManager should not be chosen as an autowire candidate. This is because of a bug in spring-2.0.8 where the autowire-candidate attribute is not respected in parent bean factories. see https://jira.springframework.org/browse/SPR-4781


autowireNonSingletonBeanProperties

public void autowireNonSingletonBeanProperties(java.lang.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(java.lang.String beanAlias)

containsBeanDefinition

public boolean containsBeanDefinition(java.lang.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

getBeanDefinition

public org.springframework.beans.factory.config.BeanDefinition getBeanDefinition(java.lang.String string)
                                                                          throws org.springframework.beans.BeansException
Specified by:
getBeanDefinition in interface org.springframework.beans.factory.config.ConfigurableListableBeanFactory
Specified by:
getBeanDefinition in interface org.springframework.beans.factory.support.BeanDefinitionRegistry
Overrides:
getBeanDefinition in class org.springframework.beans.factory.support.DefaultListableBeanFactory
Throws:
org.springframework.beans.BeansException


Copyright © 2003-2010 Atlassian. All Rights Reserved.