Package: org.grails.spring.beans.factory

## [Java] Class OptimizedAutowireCapableBeanFactory

- org.grails.spring.beans.factory.OptimizedAutowireCapableBeanFactory

-     @java.lang.Deprecated
      public class OptimizedAutowireCapableBeanFactory
      extends org.springframework.beans.factory.support.DefaultListableBeanFactory

  Applies autowiring performance optimizations to Spring

  Authors:
    Graeme Rocher
    Lari Hotari

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static boolean` | `DISABLE_AUTOWIRE_BY_NAME_OPTIMIZATIONS` |
    `java.util.concurrent.ConcurrentMap<java.lang.Class<?>, java.util.Map<java.lang.String, java.beans.PropertyDescriptor>>` | `autowireableBeanPropsCacheForClass` |
    `private boolean` | `reloadEnabled` |

  - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class org.springframework.beans.factory.support.DefaultListableBeanFactory` | `FACTORY_BEAN_PREFIX, AUTOWIRE_NO, AUTOWIRE_BY_NAME, AUTOWIRE_BY_TYPE, AUTOWIRE_CONSTRUCTOR, AUTOWIRE_AUTODETECT, ORIGINAL_INSTANCE_SUFFIX, SCOPE_SINGLETON, SCOPE_PROTOTYPE`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `OptimizedAutowireCapableBeanFactory ()` Default constructor.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected void` | `autowireBeanInAutowireByName(java.lang.Object existingBean, java.util.Map<java.lang.String, java.beans.PropertyDescriptor> autowireableBeanProps)`
    `` | `public void` | `autowireBeanProperties(java.lang.Object existingBean, int autowireMode, boolean dependencyCheck)`
    `` | `protected void` | `autowireByName(java.lang.String beanName, org.springframework.beans.factory.support.AbstractBeanDefinition mbd, org.springframework.beans.BeanWrapper bw, org.springframework.beans.MutablePropertyValues pvs)`
    `` | `public org.springframework.beans.BeanWrapper` | `call()`
    `` | `public org.springframework.beans.BeanWrapper` | `call()`
    `` | `public java.lang.Object` | `instantiate(org.springframework.beans.factory.support.RootBeanDefinition beanDefinition, java.lang.String beanName, org.springframework.beans.factory.BeanFactory owner)`
    `` | `protected boolean` | `isExcludedFromDependencyCheck(java.beans.PropertyDescriptor pd)`
    `` | `protected void` | `populateBeanInAutowireByName(java.lang.Object existingBean)`
    `` | `protected java.util.Map<java.lang.String, java.beans.PropertyDescriptor>` | `resolveAutowireablePropertyDescriptors(java.lang.Object existingBean)`
    `` | `protected java.util.Map<java.lang.String, java.beans.PropertyDescriptor>` | `resolveAutowireablePropertyDescriptorsForClass(java.lang.Class<?> beanClass, java.util.concurrent.Callable<org.springframework.beans.BeanWrapper> beanWrapperCallback)`
    `` | `public java.lang.Object` | `run()`
    `` | `public java.lang.Object` | `run()`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class org.springframework.beans.factory.support.DefaultListableBeanFactory` | `org.springframework.beans.factory.support.DefaultListableBeanFactory#resolveNamedBean(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#resolveDependency(org.springframework.beans.factory.config.DependencyDescriptor, java.lang.String, java.util.Set, org.springframework.beans.TypeConverter), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanNamesForAnnotation(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeansWithAnnotation(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#findAnnotationOnBean(java.lang.String, java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#findAnnotationOnBean(java.lang.String, java.lang.Class, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeansOfType(java.lang.Class, boolean, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeansOfType(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#containsBeanDefinition(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanDefinitionCount(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanDefinitionNames(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanNamesForType(org.springframework.core.ResolvableType, boolean, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanNamesForType(org.springframework.core.ResolvableType), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanNamesForType(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanNamesForType(java.lang.Class, boolean, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanProvider(java.lang.Class, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanProvider(org.springframework.core.ResolvableType, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanProvider(org.springframework.core.ResolvableType), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanProvider(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#setAllowBeanDefinitionOverriding(boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerSingleton(java.lang.String, java.lang.Object), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerBeanDefinition(java.lang.String, org.springframework.beans.factory.config.BeanDefinition), org.springframework.beans.factory.support.DefaultListableBeanFactory#removeBeanDefinition(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanDefinition(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#setSerializationId(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerResolvableDependency(java.lang.Class, java.lang.Object), org.springframework.beans.factory.support.DefaultListableBeanFactory#freezeConfiguration(), org.springframework.beans.factory.support.DefaultListableBeanFactory#preInstantiateSingletons(), org.springframework.beans.factory.support.DefaultListableBeanFactory#destroySingletons(), org.springframework.beans.factory.support.DefaultListableBeanFactory#copyConfigurationFrom(org.springframework.beans.factory.config.ConfigurableBeanFactory), org.springframework.beans.factory.support.DefaultListableBeanFactory#clearMetadataCache(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanNamesIterator(), org.springframework.beans.factory.support.DefaultListableBeanFactory#isConfigurationFrozen(), org.springframework.beans.factory.support.DefaultListableBeanFactory#isAutowireCandidate(java.lang.String, org.springframework.beans.factory.config.DependencyDescriptor), org.springframework.beans.factory.support.DefaultListableBeanFactory#getSerializationId(), org.springframework.beans.factory.support.DefaultListableBeanFactory#isAllowBeanDefinitionOverriding(), org.springframework.beans.factory.support.DefaultListableBeanFactory#setAllowEagerClassLoading(boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#isAllowEagerClassLoading(), org.springframework.beans.factory.support.DefaultListableBeanFactory#setDependencyComparator(java.util.Comparator), org.springframework.beans.factory.support.DefaultListableBeanFactory#getDependencyComparator(), org.springframework.beans.factory.support.DefaultListableBeanFactory#setAutowireCandidateResolver(org.springframework.beans.factory.support.AutowireCandidateResolver), org.springframework.beans.factory.support.DefaultListableBeanFactory#getAutowireCandidateResolver(), org.springframework.beans.factory.support.DefaultListableBeanFactory#destroySingleton(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#doResolveDependency(org.springframework.beans.factory.config.DependencyDescriptor, java.lang.String, java.util.Set, org.springframework.beans.TypeConverter), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBean(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBean(java.lang.Class, [Ljava.lang.Object;), org.springframework.beans.factory.support.DefaultListableBeanFactory#toString(), org.springframework.beans.factory.support.DefaultListableBeanFactory#autowireBean(java.lang.Object), org.springframework.beans.factory.support.DefaultListableBeanFactory#configureBean(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#autowire(java.lang.Class, int, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#autowireBeanProperties(java.lang.Object, int, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#applyBeanPropertyValues(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#initializeBean(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#applyBeanPostProcessorsBeforeInitialization(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#applyBeanPostProcessorsAfterInitialization(java.lang.Object, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#destroyBean(java.lang.Object), org.springframework.beans.factory.support.DefaultListableBeanFactory#resolveBeanByName(java.lang.String, org.springframework.beans.factory.config.DependencyDescriptor), org.springframework.beans.factory.support.DefaultListableBeanFactory#resolveDependency(org.springframework.beans.factory.config.DependencyDescriptor, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#createBean(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#createBean(java.lang.Class, int, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#setAllowCircularReferences(boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#ignoreDependencyInterface(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#ignoreDependencyType(java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#setInstantiationStrategy(org.springframework.beans.factory.support.InstantiationStrategy), org.springframework.beans.factory.support.DefaultListableBeanFactory#setParameterNameDiscoverer(org.springframework.core.ParameterNameDiscoverer), org.springframework.beans.factory.support.DefaultListableBeanFactory#isAllowCircularReferences(), org.springframework.beans.factory.support.DefaultListableBeanFactory#setAllowRawInjectionDespiteWrapping(boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#isAllowRawInjectionDespiteWrapping(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getAccessControlContext(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getAliases(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#isSingleton(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getConversionService(), org.springframework.beans.factory.support.DefaultListableBeanFactory#setConversionService(org.springframework.core.convert.ConversionService), org.springframework.beans.factory.support.DefaultListableBeanFactory#containsBean(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#destroyBean(java.lang.String, java.lang.Object), org.springframework.beans.factory.support.DefaultListableBeanFactory#containsLocalBean(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getParentBeanFactory(), org.springframework.beans.factory.support.DefaultListableBeanFactory#isPrototype(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#isTypeMatch(java.lang.String, java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#isTypeMatch(java.lang.String, org.springframework.core.ResolvableType), org.springframework.beans.factory.support.DefaultListableBeanFactory#addBeanPostProcessor(org.springframework.beans.factory.config.BeanPostProcessor), org.springframework.beans.factory.support.DefaultListableBeanFactory#setApplicationStartup(org.springframework.core.metrics.ApplicationStartup), org.springframework.beans.factory.support.DefaultListableBeanFactory#getApplicationStartup(), org.springframework.beans.factory.support.DefaultListableBeanFactory#isBeanNameInUse(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#setParentBeanFactory(org.springframework.beans.factory.BeanFactory), org.springframework.beans.factory.support.DefaultListableBeanFactory#setBeanClassLoader(java.lang.ClassLoader), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanClassLoader(), org.springframework.beans.factory.support.DefaultListableBeanFactory#setBeanExpressionResolver(org.springframework.beans.factory.config.BeanExpressionResolver), org.springframework.beans.factory.support.DefaultListableBeanFactory#addPropertyEditorRegistrar(org.springframework.beans.PropertyEditorRegistrar), org.springframework.beans.factory.support.DefaultListableBeanFactory#setTempClassLoader(java.lang.ClassLoader), org.springframework.beans.factory.support.DefaultListableBeanFactory#getTempClassLoader(), org.springframework.beans.factory.support.DefaultListableBeanFactory#hasEmbeddedValueResolver(), org.springframework.beans.factory.support.DefaultListableBeanFactory#addEmbeddedValueResolver(org.springframework.util.StringValueResolver), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerCustomEditor(java.lang.Class, java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#copyRegisteredEditorsTo(org.springframework.beans.PropertyEditorRegistry), org.springframework.beans.factory.support.DefaultListableBeanFactory#setTypeConverter(org.springframework.beans.TypeConverter), org.springframework.beans.factory.support.DefaultListableBeanFactory#getTypeConverter(), org.springframework.beans.factory.support.DefaultListableBeanFactory#resolveEmbeddedValue(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanPostProcessorCount(), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerScope(java.lang.String, org.springframework.beans.factory.config.Scope), org.springframework.beans.factory.support.DefaultListableBeanFactory#getRegisteredScopeNames(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getRegisteredScope(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getMergedBeanDefinition(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#isFactoryBean(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#destroyScopedBean(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#setCacheBeanMetadata(boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#isCacheBeanMetadata(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanExpressionResolver(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBeanPostProcessors(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getPropertyEditorRegistrars(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getCustomEditors(), org.springframework.beans.factory.support.DefaultListableBeanFactory#addBeanPostProcessors(java.util.Collection), org.springframework.beans.factory.support.DefaultListableBeanFactory#setSecurityContextProvider(org.springframework.beans.factory.support.SecurityContextProvider), org.springframework.beans.factory.support.DefaultListableBeanFactory#isActuallyInCreation(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBean(java.lang.String, java.lang.Class, [Ljava.lang.Object;), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBean(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBean(java.lang.String, java.lang.Class), org.springframework.beans.factory.support.DefaultListableBeanFactory#getBean(java.lang.String, [Ljava.lang.Object;), org.springframework.beans.factory.support.DefaultListableBeanFactory#getType(java.lang.String, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#getType(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#setCurrentlyInCreation(java.lang.String, boolean), org.springframework.beans.factory.support.DefaultListableBeanFactory#isCurrentlyInCreation(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerDependentBean(java.lang.String, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getDependentBeans(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getDependenciesForBean(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#containsSingleton(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getSingletonNames(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getSingletonCount(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getSingletonMutex(), org.springframework.beans.factory.support.DefaultListableBeanFactory#isSingletonCurrentlyInCreation(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerDisposableBean(java.lang.String, org.springframework.beans.factory.DisposableBean), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerContainedBean(java.lang.String, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getSingleton(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#getSingleton(java.lang.String, org.springframework.beans.factory.ObjectFactory), org.springframework.beans.factory.support.DefaultListableBeanFactory#registerAlias(java.lang.String, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#removeAlias(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#resolveAliases(org.springframework.util.StringValueResolver), org.springframework.beans.factory.support.DefaultListableBeanFactory#isAlias(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#hasAlias(java.lang.String, java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#canonicalName(java.lang.String), org.springframework.beans.factory.support.DefaultListableBeanFactory#wait(long), org.springframework.beans.factory.support.DefaultListableBeanFactory#wait(long, int), org.springframework.beans.factory.support.DefaultListableBeanFactory#wait(), org.springframework.beans.factory.support.DefaultListableBeanFactory#equals(java.lang.Object), org.springframework.beans.factory.support.DefaultListableBeanFactory#hashCode(), org.springframework.beans.factory.support.DefaultListableBeanFactory#getClass(), org.springframework.beans.factory.support.DefaultListableBeanFactory#notify(), org.springframework.beans.factory.support.DefaultListableBeanFactory#notifyAll()`

- - ### Field Detail

    - #### public static boolean DISABLE_AUTOWIRE_BY_NAME_OPTIMIZATIONS

    - #### java.util.concurrent.ConcurrentMap<java.lang.Class<?>, java.util.Map<java.lang.String, java.beans.PropertyDescriptor>> autowireableBeanPropsCacheForClass

    - #### private boolean reloadEnabled

  - ### Constructor Detail

    - #### public OptimizedAutowireCapableBeanFactory()

      Default constructor.

  - ### Method Detail

    - #### protected void autowireBeanInAutowireByName(java.lang.Object existingBean, java.util.Map<java.lang.String, java.beans.PropertyDescriptor> autowireableBeanProps)

    - #### @java.lang.Override public void autowireBeanProperties(java.lang.Object existingBean, int autowireMode, boolean dependencyCheck)

    - #### @java.lang.Override protected void autowireByName(java.lang.String beanName, org.springframework.beans.factory.support.AbstractBeanDefinition mbd, org.springframework.beans.BeanWrapper bw, org.springframework.beans.MutablePropertyValues pvs)

    - #### public org.springframework.beans.BeanWrapper call()

    - #### @java.lang.Override public java.lang.Object instantiate(org.springframework.beans.factory.support.RootBeanDefinition beanDefinition, java.lang.String beanName, org.springframework.beans.factory.BeanFactory owner)

    - #### @java.lang.Override protected boolean isExcludedFromDependencyCheck(java.beans.PropertyDescriptor pd)

    - #### protected void populateBeanInAutowireByName(java.lang.Object existingBean)

    - #### protected java.util.Map<java.lang.String, java.beans.PropertyDescriptor> resolveAutowireablePropertyDescriptors(java.lang.Object existingBean)

    - #### protected java.util.Map<java.lang.String, java.beans.PropertyDescriptor> resolveAutowireablePropertyDescriptorsForClass(java.lang.Class<?> beanClass, java.util.concurrent.Callable<org.springframework.beans.BeanWrapper> beanWrapperCallback)

    - #### public java.lang.Object run()