Package org.springframework.beans.factory.config

Examples of org.springframework.beans.factory.config.BeanDefinitionHolder


        ObjectUtils.getIdentityHexString(innerDefinition);
    if (logger.isDebugEnabled()) {
      logger.debug("Using generated bean name [" + id +
          "] for nested custom element '" + ele.getNodeName() + "'");
    }
    return new BeanDefinitionHolder(innerDefinition, id);
  }
View Full Code Here


      if (resolve) {
        new ConstructorResolver(this).resolveFactoryMethodIfPossible(mbd);
      }
    }
    return getAutowireCandidateResolver().isAutowireCandidate(
        new BeanDefinitionHolder(mbd, beanName, getAliases(beanName)), descriptor);
  }
View Full Code Here

      RootBeanDefinition mbd = getMergedLocalBeanDefinition(beanName);

      // Check decorated bean definition, if any: We assume it'll be easier
      // to determine the decorated bean's type than the proxy's type.
      BeanDefinitionHolder dbd = mbd.getDecoratedDefinition();
      if (dbd != null && !BeanFactoryUtils.isFactoryDereference(name)) {
        RootBeanDefinition tbd = getMergedBeanDefinition(dbd.getBeanName(), dbd.getBeanDefinition(), mbd);
        Class<?> targetClass = predictBeanType(dbd.getBeanName(), tbd);
        if (targetClass != null && !FactoryBean.class.isAssignableFrom(targetClass)) {
          return targetClass;
        }
      }
View Full Code Here

      // Retrieve corresponding bean definition.
      RootBeanDefinition mbd = getMergedLocalBeanDefinition(beanName);

      // Check decorated bean definition, if any: We assume it'll be easier
      // to determine the decorated bean's type than the proxy's type.
      BeanDefinitionHolder dbd = mbd.getDecoratedDefinition();
      if (dbd != null && !BeanFactoryUtils.isFactoryDereference(name)) {
        RootBeanDefinition tbd = getMergedBeanDefinition(dbd.getBeanName(), dbd.getBeanDefinition(), mbd);
        Class<?> targetClass = predictBeanType(dbd.getBeanName(), tbd, FactoryBean.class, typeToMatch);
        if (targetClass != null && !FactoryBean.class.isAssignableFrom(targetClass)) {
          return typeToMatch.isAssignableFrom(targetClass);
        }
      }
View Full Code Here

        }
        if (candidate instanceof AnnotatedBeanDefinition) {
          AnnotationConfigUtils.processCommonDefinitionAnnotations((AnnotatedBeanDefinition) candidate);
        }
        if (checkCandidate(beanName, candidate)) {
          BeanDefinitionHolder definitionHolder = new BeanDefinitionHolder(candidate, beanName);
          definitionHolder = AnnotationConfigUtils.applyScopedProxyMode(scopeMetadata, definitionHolder, this.registry);
          beanDefinitions.add(definitionHolder);
          registerBeanDefinition(definitionHolder, this.registry);
        }
      }           
View Full Code Here

  private static BeanDefinitionHolder registerPostProcessor(
      BeanDefinitionRegistry registry, RootBeanDefinition definition, String beanName) {

    definition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
    registry.registerBeanDefinition(beanName, definition);
    return new BeanDefinitionHolder(definition, beanName);
  }
View Full Code Here

      }
    }
   
    // Register the original bean definition as it will be referenced by the scoped proxy
    // and is relevant for tooling (validation, navigation).
    BeanDefinitionHolder holder =
        ScopedProxyUtils.createScopedProxy(definition, parserContext.getRegistry(), proxyTargetClass);
    String targetBeanName = ScopedProxyUtils.getTargetBeanName(definition.getBeanName());
    parserContext.getReaderContext().fireComponentRegistered(
        new BeanComponentDefinition(definition.getBeanDefinition(), targetBeanName));
    return holder;
View Full Code Here

    // Register the target bean as separate bean in the factory.
    registry.registerBeanDefinition(targetBeanName, targetDefinition);

    // Return the scoped proxy definition as primary bean definition
    // (potentially an inner bean).
    return new BeanDefinitionHolder(proxyDefinition, originalBeanName, definition.getAliases());
  }
View Full Code Here

    BeanDefinitionRegistry registry = parserContext.getRegistry();
   
    // get the root bean name - will be the name of the generated proxy factory bean
    String existingBeanName = definitionHolder.getBeanName();
    BeanDefinition targetDefinition = definitionHolder.getBeanDefinition();
    BeanDefinitionHolder targetHolder = new BeanDefinitionHolder(targetDefinition, existingBeanName + ".TARGET");

    // delegate to subclass for interceptor definition
    BeanDefinition interceptorDefinition = createInterceptorDefinition(node);

    // generate name and register the interceptor
    String interceptorName = existingBeanName + "." + getInterceptorNameSuffix(interceptorDefinition);
    BeanDefinitionReaderUtils.registerBeanDefinition(
        new BeanDefinitionHolder(interceptorDefinition, interceptorName), registry);

    BeanDefinitionHolder result = definitionHolder;

    if (!isProxyFactoryBeanDefinition(targetDefinition)) {
      // create the proxy definition
      RootBeanDefinition proxyDefinition = new RootBeanDefinition();
      // create proxy factory bean definition
      proxyDefinition.setBeanClass(ProxyFactoryBean.class);
      proxyDefinition.setScope(targetDefinition.getScope());
      proxyDefinition.setLazyInit(targetDefinition.isLazyInit());
      // set the target
      proxyDefinition.setDecoratedDefinition(targetHolder);
      proxyDefinition.getPropertyValues().add("target", targetHolder);
      // create the interceptor names list
      proxyDefinition.getPropertyValues().add("interceptorNames", new ManagedList<String>());
      // copy autowire settings from original bean definition.
      proxyDefinition.setAutowireCandidate(targetDefinition.isAutowireCandidate());
      proxyDefinition.setPrimary(targetDefinition.isPrimary());
      if (targetDefinition instanceof AbstractBeanDefinition) {
        proxyDefinition.copyQualifiersFrom((AbstractBeanDefinition) targetDefinition);
      }
      // wrap it in a BeanDefinitionHolder with bean name
      result = new BeanDefinitionHolder(proxyDefinition, existingBeanName);
    }

    addInterceptorNameToList(interceptorName, result.getBeanDefinition());
    return result;
  }
View Full Code Here

  private static void registerPostProcessor(
      ParserContext parserContext, BeanDefinitionBuilder builder, String beanName) {

    builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
    parserContext.getRegistry().registerBeanDefinition(beanName, builder.getBeanDefinition());
    BeanDefinitionHolder holder = new BeanDefinitionHolder(builder.getBeanDefinition(), beanName);
    parserContext.registerComponent(new BeanComponentDefinition(holder));
  }
View Full Code Here

TOP

Related Classes of org.springframework.beans.factory.config.BeanDefinitionHolder

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.