Package org.springframework.beans.factory

Examples of org.springframework.beans.factory.FactoryBean


      Object beanInstance = entry.getValue();
      // Is bean a FactoryBean?
      if (beanInstance instanceof FactoryBean && !isFactoryType) {
        if (includeFactoryBeans) {
          // Match object created by FactoryBean.
          FactoryBean factory = (FactoryBean) beanInstance;
          Class objectType = factory.getObjectType();
          if ((includeNonSingletons || factory.isSingleton()) &&
              objectType != null && (type == null || type.isAssignableFrom(objectType))) {
            matches.put(beanName, getBean(beanName, type));
          }
        }
      }
View Full Code Here


      List<String> beanNames = new ArrayList<String>(this.beanDefinitionNames);
      for (String beanName : beanNames) {
        RootBeanDefinition bd = getMergedLocalBeanDefinition(beanName);
        if (!bd.isAbstract() && bd.isSingleton() && !bd.isLazyInit()) {
          if (isFactoryBean(beanName)) {
            final FactoryBean factory = (FactoryBean) getBean(FACTORY_BEAN_PREFIX + beanName);
            boolean isEagerInit;
            if (System.getSecurityManager() != null && factory instanceof SmartFactoryBean) {
              isEagerInit = AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
                public Boolean run() {
                  return ((SmartFactoryBean) factory).isEagerInit();
View Full Code Here

      }
      finally {
        // Finished partial creation of this bean.
        afterSingletonCreation(beanName);
      }
      FactoryBean fb = getFactoryBean(beanName, instance);
      if (bw != null) {
        this.factoryBeanInstanceCache.put(beanName, bw);
      }
      return fb;
    }
View Full Code Here

  static Object getTarget(Object bean, String beanName) {
   
    Object target = null;
    if (bean instanceof FactoryBean) {
      FactoryBean factoryBean = (FactoryBean) bean;
      try {
        target = factoryBean.getObject();
      }
      catch (Exception e) {
        String errorMessage = "Failed getting object from factory bean " + factoryBean + ", bean name "
            + beanName;
        throw new BeanInstantiationException(factoryBean.getObjectType(), errorMessage, e);
      }
    }
    else {
      target = bean;
    }
View Full Code Here

  static Object getTarget(Object bean, String beanName) {
   
    Object target = null;
    if (bean instanceof FactoryBean) {
      FactoryBean factoryBean = (FactoryBean) bean;
      try {
        target = factoryBean.getObject();
      }
      catch (Exception e) {
        String errorMessage = "Failed getting object from factory bean " + factoryBean + ", bean name "
            + beanName;
        throw new BeanInstantiationException(factoryBean.getObjectType(), errorMessage, e);
      }
    }
    else {
      target = bean;
    }
View Full Code Here

   * FactoryBean. If the FactoryBean instance itself is not kept as singleton,
   * it will be fully created to check the type of its exposed object.
   */
  @Override
  protected Class getTypeForFactoryBean(String beanName, RootBeanDefinition mbd) {
    FactoryBean fb = (mbd.isSingleton() ?
        getSingletonFactoryBeanForTypeCheck(beanName, mbd) :
        getNonSingletonFactoryBeanForTypeCheck(beanName, mbd));

    if (fb != null) {
      // Try to obtain the FactoryBean's object type from this early stage of the instance.
View Full Code Here

      }
      finally {
        // Finished partial creation of this bean.
        afterSingletonCreation(beanName);
      }
      FactoryBean fb = getFactoryBean(beanName, instance);
      if (bw != null) {
        this.factoryBeanInstanceCache.put(beanName, bw);
      }
      return fb;
    }
View Full Code Here

   * <p>The shortcut check for a FactoryBean is only applied in case of a singleton
   * FactoryBean. If the FactoryBean instance itself is not kept as singleton,
   * it will be fully created to check the type of its exposed object.
   */
  protected Class getTypeForFactoryBean(String beanName, RootBeanDefinition mbd) {
    FactoryBean fb = (mbd.isSingleton() ?
        getSingletonFactoryBeanForTypeCheck(beanName, mbd) :
        getNonSingletonFactoryBeanForTypeCheck(beanName, mbd));

    if (fb != null) {
      // Try to obtain the FactoryBean's object type from this early stage of the instance.
View Full Code Here

      if (!containsSingleton(beanName) && containsBeanDefinition(beanName)) {
        RootBeanDefinition bd = getMergedBeanDefinition(beanName, false);
        if (!bd.isAbstract() && bd.isSingleton() && !bd.isLazyInit()) {
          Class beanClass = resolveBeanClass(bd, beanName);
          if (beanClass != null && FactoryBean.class.isAssignableFrom(beanClass)) {
            FactoryBean factory = (FactoryBean) getBean(FACTORY_BEAN_PREFIX + beanName);
            if (factory instanceof SmartFactoryBean && ((SmartFactoryBean) factory).isEagerInit()) {
              getBean(beanName);
            }
          }
          else {
View Full Code Here

      if (bd.isSingleton()) {
        if (isBeanClassMatch(beanName, bd, FactoryBean.class)) {
          if (BeanFactoryUtils.isFactoryDereference(name)) {
            return true;
          }
          FactoryBean factoryBean = (FactoryBean) getBean(FACTORY_BEAN_PREFIX + beanName);
          return factoryBean.isSingleton();
        }
        else {
          return !BeanFactoryUtils.isFactoryDereference(name);
        }
      }
View Full Code Here

TOP

Related Classes of org.springframework.beans.factory.FactoryBean

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.