Class ArtifactObjectsAwareBeanFactory

java.lang.Object
org.springframework.core.SimpleAliasRegistry
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry
org.springframework.beans.factory.support.FactoryBeanRegistrySupport
org.springframework.beans.factory.support.AbstractBeanFactory
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
org.springframework.beans.factory.support.DefaultListableBeanFactory
org.mule.extension.spring.internal.beanfactory.ArtifactObjectsAwareBeanFactory
All Implemented Interfaces:
Serializable, 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 ArtifactObjectsAwareBeanFactory extends org.springframework.beans.factory.support.DefaultListableBeanFactory
DefaultListableBeanFactory implementation that takes into account the objects provided by the mule artifact for dependency resolution.
Since:
1.0
See Also:
  • Field Summary

    Fields inherited from class org.springframework.beans.factory.support.DefaultListableBeanFactory

    STRICT_LOCKING_PROPERTY_NAME

    Fields inherited from class org.springframework.core.SimpleAliasRegistry

    logger

    Fields inherited from interface org.springframework.beans.factory.config.AutowireCapableBeanFactory

    AUTOWIRE_AUTODETECT, AUTOWIRE_BY_NAME, AUTOWIRE_BY_TYPE, AUTOWIRE_CONSTRUCTOR, AUTOWIRE_NO, ORIGINAL_INSTANCE_SUFFIX

    Fields inherited from interface org.springframework.beans.factory.BeanFactory

    FACTORY_BEAN_PREFIX, FACTORY_BEAN_PREFIX_CHAR

    Fields inherited from interface org.springframework.beans.factory.config.ConfigurableBeanFactory

    SCOPE_PROTOTYPE, SCOPE_SINGLETON
  • Constructor Summary

    Constructors
    Constructor
    Description
    ArtifactObjectsAwareBeanFactory(org.springframework.beans.factory.BeanFactory parentBeanFactory, org.mule.runtime.api.ioc.ObjectProvider artifactObjectProvider)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected <T> T
    doGetBean(String name, Class<T> requiredType, Object[] args, boolean typeCheckOnly)
     
    doResolveDependency(org.springframework.beans.factory.config.DependencyDescriptor descriptor, String beanName, Set<String> autowiredBeanNames, org.springframework.beans.TypeConverter typeConverter)
     
    org.mule.runtime.api.ioc.ObjectProvider
    Returns the artifact object provider used for dependency resolution.
    protected org.springframework.security.core.userdetails.UserDetailsService
     
    void
    Marks the beginning of destroy of the context.
    void
    registerBeanDefinition(String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition)
    Overrides spring method to first check if the bean to be registered is a valid one.

    Methods inherited from class org.springframework.beans.factory.support.DefaultListableBeanFactory

    addSingleton, allowAliasOverriding, cacheMergedBeanDefinition, checkForAliasCircle, checkMergedBeanDefinition, clearMergedBeanDefinition, clearMetadataCache, containsBeanDefinition, copyConfigurationFrom, destroySingleton, destroySingletons, determineAutowireCandidate, determineHighestPriorityCandidate, determinePrimaryCandidate, findAllAnnotationsOnBean, findAnnotationOnBean, findAnnotationOnBean, findAutowireCandidates, freezeConfiguration, getAutowireCandidateResolver, getBean, getBean, getBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesIterator, getBeanProvider, getBeanProvider, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getBootstrapExecutor, getDependencyComparator, getPriority, getSerializationId, isAllowBeanDefinitionOverriding, isAllowEagerClassLoading, isAutowireCandidate, isAutowireCandidate, isAutowireCandidate, isBeanDefinitionOverridable, isBeanEligibleForMetadataCaching, isConfigurationFrozen, isCurrentThreadAllowedToHoldSingletonLock, isPrimary, matchesBeanName, obtainInstanceFromSupplier, preInstantiateSingletons, prepareSingletonBootstrap, registerResolvableDependency, registerSingleton, removeBeanDefinition, resetBeanDefinition, resolveDependency, resolveNamedBean, setAllowBeanDefinitionOverriding, setAllowEagerClassLoading, setAutowireCandidateResolver, setBootstrapExecutor, setDependencyComparator, setSerializationId, toString, writeReplace

    Methods inherited from class org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory

    applyBeanPostProcessorsAfterInitialization, applyBeanPostProcessorsBeforeInitialization, applyBeanPostProcessorsBeforeInstantiation, applyBeanPropertyValues, applyMergedBeanDefinitionPostProcessors, applyPropertyValues, autowire, autowireBean, autowireBeanProperties, autowireByName, autowireByType, autowireConstructor, checkDependencies, clearSingletonCache, configureBean, createBean, createBean, createBean, createBeanInstance, destroyBean, determineConstructorsFromBeanPostProcessors, determineTargetType, doCreateBean, filterPropertyDescriptorsForDependencyCheck, filterPropertyDescriptorsForDependencyCheck, getEarlyBeanReference, getInstantiationStrategy, getObjectForBeanInstance, getParameterNameDiscoverer, getTypeForFactoryBean, getTypeForFactoryMethod, ignoreDependencyInterface, ignoreDependencyType, initializeBean, initializeBean, instantiateBean, instantiateUsingFactoryMethod, invokeCustomInitMethod, invokeInitMethods, isAllowCircularReferences, isAllowRawInjectionDespiteWrapping, isExcludedFromDependencyCheck, populateBean, postProcessObjectFromFactoryBean, predictBeanType, removeSingleton, resolveBeanByName, resolveBeforeInstantiation, resolveDependency, setAllowCircularReferences, setAllowRawInjectionDespiteWrapping, setInstantiationStrategy, setParameterNameDiscoverer, unsatisfiedNonSimpleProperties

    Methods inherited from class org.springframework.beans.factory.support.AbstractBeanFactory

    addBeanPostProcessor, addBeanPostProcessors, addEmbeddedValueResolver, addPropertyEditorRegistrar, afterPrototypeCreation, beforePrototypeCreation, cleanupAfterBeanCreationFailure, containsBean, containsLocalBean, copyRegisteredEditorsTo, destroyBean, destroyBean, destroyScopedBean, evaluateBeanDefinitionString, getAliases, getApplicationStartup, getBean, getBean, getBean, getBean, getBeanClassLoader, getBeanExpressionResolver, getBeanPostProcessorCount, getBeanPostProcessors, getConversionService, getCustomEditors, getCustomTypeConverter, getMergedBeanDefinition, getMergedBeanDefinition, getMergedBeanDefinition, getMergedLocalBeanDefinition, getParentBeanFactory, getPropertyEditorRegistrars, getRegisteredScope, getRegisteredScopeNames, getTempClassLoader, getType, getType, getTypeConverter, hasBeanCreationStarted, hasDestructionAwareBeanPostProcessors, hasEmbeddedValueResolver, hasInstantiationAwareBeanPostProcessors, initBeanWrapper, isActuallyInCreation, isBeanNameInUse, isCacheBeanMetadata, isFactoryBean, isFactoryBean, isPrototype, isPrototypeCurrentlyInCreation, isSingleton, isTypeMatch, isTypeMatch, isTypeMatch, markBeanAsCreated, originalBeanName, registerCustomEditor, registerCustomEditors, registerDisposableBeanIfNecessary, registerScope, removeSingletonIfCreatedForTypeCheckOnly, requiresDestruction, resolveBeanClass, resolveEmbeddedValue, setApplicationStartup, setBeanClassLoader, setBeanExpressionResolver, setCacheBeanMetadata, setConversionService, 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

    addSingletonCallback, addSingletonFactory, afterSingletonCreation, beforeSingletonCreation, containsSingleton, destroyBean, getDependenciesForBean, getDependentBeans, getSingleton, getSingleton, getSingleton, getSingletonCount, getSingletonMutex, getSingletonNames, hasDependentBean, isCurrentlyInCreation, isDependent, isSingletonCurrentlyInCreation, onSuppressedException, registerContainedBean, registerDependentBean, registerDisposableBean, setCurrentlyInCreation

    Methods inherited from class org.springframework.core.SimpleAliasRegistry

    canonicalName, hasAlias, 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.core.AliasRegistry

    getAliases, isAlias, registerAlias, removeAlias

    Methods inherited from interface org.springframework.beans.factory.config.AutowireCapableBeanFactory

    applyBeanPostProcessorsAfterInitialization, applyBeanPostProcessorsBeforeInitialization, applyBeanPropertyValues, autowire, autowireBean, autowireBeanProperties, configureBean, createBean, createBean, destroyBean, initializeBean, resolveBeanByName, resolveDependency

    Methods inherited from interface org.springframework.beans.factory.support.BeanDefinitionRegistry

    isBeanNameInUse

    Methods inherited from interface org.springframework.beans.factory.BeanFactory

    containsBean, getAliases, getBean, getBean, getBean, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch

    Methods inherited from interface org.springframework.beans.factory.config.ConfigurableBeanFactory

    addBeanPostProcessor, addEmbeddedValueResolver, addPropertyEditorRegistrar, copyRegisteredEditorsTo, destroyBean, destroyScopedBean, getApplicationStartup, getBeanClassLoader, getBeanExpressionResolver, getBeanPostProcessorCount, getConversionService, getDependenciesForBean, getDependentBeans, getMergedBeanDefinition, getRegisteredScope, getRegisteredScopeNames, getTempClassLoader, getTypeConverter, hasEmbeddedValueResolver, isCacheBeanMetadata, isCurrentlyInCreation, isFactoryBean, registerAlias, registerCustomEditor, registerDependentBean, registerScope, resolveAliases, resolveEmbeddedValue, setApplicationStartup, setBeanClassLoader, setBeanExpressionResolver, setCacheBeanMetadata, setConversionService, setCurrentlyInCreation, setParentBeanFactory, setTempClassLoader, setTypeConverter

    Methods inherited from interface org.springframework.beans.factory.config.ConfigurableListableBeanFactory

    ignoreDependencyInterface, ignoreDependencyType

    Methods inherited from interface org.springframework.beans.factory.HierarchicalBeanFactory

    containsLocalBean, getParentBeanFactory

    Methods inherited from interface org.springframework.beans.factory.config.SingletonBeanRegistry

    addSingletonCallback, containsSingleton, getSingleton, getSingletonCount, getSingletonMutex, getSingletonNames
  • Constructor Details

    • ArtifactObjectsAwareBeanFactory

      public ArtifactObjectsAwareBeanFactory(org.springframework.beans.factory.BeanFactory parentBeanFactory, org.mule.runtime.api.ioc.ObjectProvider artifactObjectProvider)
  • Method Details

    • doResolveDependency

      public Object doResolveDependency(org.springframework.beans.factory.config.DependencyDescriptor descriptor, String beanName, Set<String> autowiredBeanNames, org.springframework.beans.TypeConverter typeConverter) throws org.springframework.beans.BeansException
      Overrides:
      doResolveDependency in class org.springframework.beans.factory.support.DefaultListableBeanFactory
      Throws:
      org.springframework.beans.BeansException
    • doGetBean

      protected <T> T doGetBean(String name, Class<T> requiredType, Object[] args, boolean typeCheckOnly) throws org.springframework.beans.BeansException
      Overrides:
      doGetBean in class org.springframework.beans.factory.support.AbstractBeanFactory
      Throws:
      org.springframework.beans.BeansException
    • registerBeanDefinition

      public void registerBeanDefinition(String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition) throws org.springframework.beans.factory.BeanDefinitionStoreException
      Overrides spring method to first check if the bean to be registered is a valid one. As for now, we are not supporting beans with a class that implements mule Lifecycle.
      Specified by:
      registerBeanDefinition in interface org.springframework.beans.factory.support.BeanDefinitionRegistry
      Overrides:
      registerBeanDefinition in class org.springframework.beans.factory.support.DefaultListableBeanFactory
      Parameters:
      beanName -
      beanDefinition -
      Throws:
      org.springframework.beans.factory.BeanDefinitionStoreException
    • markForDestroy

      public void markForDestroy()
      Marks the beginning of destroy of the context.
    • getArtifactObjectProvider

      public org.mule.runtime.api.ioc.ObjectProvider getArtifactObjectProvider()
      Returns the artifact object provider used for dependency resolution.
      Returns:
      the artifact object provider
    • getUserDetailService

      protected org.springframework.security.core.userdetails.UserDetailsService getUserDetailService(String name)