Package org.springframework.beans.factory.support

Examples of org.springframework.beans.factory.support.AutowireCandidateQualifier


        }
        else if (Lazy.class.equals(qualifier)) {
          abd.setLazyInit(true);
        }
        else {
          abd.addQualifier(new AutowireCandidateQualifier(qualifier));
        }
      }
    }
    BeanDefinitionHolder definitionHolder = new BeanDefinitionHolder(abd, beanName);
    definitionHolder = AnnotationConfigUtils.applyScopedProxyMode(scopeMetadata, definitionHolder, this.registry);
View Full Code Here


      error("Tag 'qualifier' must have a 'type' attribute", ele);
      return;
    }
    this.parseState.push(new QualifierEntry(typeName));
    try {
      AutowireCandidateQualifier qualifier = new AutowireCandidateQualifier(typeName);
      qualifier.setSource(extractSource(ele));
      String value = ele.getAttribute(VALUE_ATTRIBUTE);
      if (StringUtils.hasLength(value)) {
        qualifier.setAttribute(AutowireCandidateQualifier.VALUE_KEY, value);
      }
      NodeList nl = ele.getChildNodes();
      for (int i = 0; i < nl.getLength(); i++) {
        Node node = nl.item(i);
        if (node instanceof Element && DomUtils.nodeNameEquals(node, QUALIFIER_ATTRIBUTE_ELEMENT)) {
          Element attributeEle = (Element) node;
          String attributeName = attributeEle.getAttribute(KEY_ATTRIBUTE);
          String attributeValue = attributeEle.getAttribute(VALUE_ATTRIBUTE);
          if (StringUtils.hasLength(attributeName) && StringUtils.hasLength(attributeValue)) {
            BeanMetadataAttribute attribute = new BeanMetadataAttribute(attributeName, attributeValue);
            attribute.setSource(extractSource(attributeEle));
            qualifier.addMetadataAttribute(attribute);
          }
          else {
            error("Qualifier 'attribute' tag must have a 'name' and 'value'", attributeEle);
            return;
          }
View Full Code Here

        assertEquals(true, bd.isAutowireCandidate());
        assertEquals(AbstractBeanDefinition.AUTOWIRE_BY_NAME, bd.getAutowireMode());
        assertEquals(AbstractBeanDefinition.DEPENDENCY_CHECK_SIMPLE, bd.getDependencyCheck());

        assertEquals(1, bd.getQualifiers().size());
        AutowireCandidateQualifier q = (AutowireCandidateQualifier) bd.getQualifiers().iterator().next();
        assertEquals(Qualifier.class.getName(), q.getTypeName());
    }
View Full Code Here

        assertEquals(true, bd.isAutowireCandidate());
        assertEquals(AbstractBeanDefinition.AUTOWIRE_NO, bd.getAutowireMode());
        assertEquals(AbstractBeanDefinition.DEPENDENCY_CHECK_NONE, bd.getDependencyCheck());

        assertEquals(1, bd.getQualifiers().size());
        AutowireCandidateQualifier q = (AutowireCandidateQualifier) bd.getQualifiers().iterator().next();
        assertEquals(Test.class.getName(), q.getTypeName());
    }
View Full Code Here

      error("Tag 'qualifier' must have a 'type' attribute", ele);
      return;
    }
    this.parseState.push(new QualifierEntry(typeName));
    try {
      AutowireCandidateQualifier qualifier = new AutowireCandidateQualifier(typeName);
      qualifier.setSource(extractSource(ele));
      String value = ele.getAttribute(VALUE_ATTRIBUTE);
      if (StringUtils.hasLength(value)) {
        qualifier.setAttribute(AutowireCandidateQualifier.VALUE_KEY, value);
      }
      NodeList nl = ele.getChildNodes();
      for (int i = 0; i < nl.getLength(); i++) {
        Node node = nl.item(i);
        if (isCandidateElement(node) && nodeNameEquals(node, QUALIFIER_ATTRIBUTE_ELEMENT)) {
          Element attributeEle = (Element) node;
          String attributeName = attributeEle.getAttribute(KEY_ATTRIBUTE);
          String attributeValue = attributeEle.getAttribute(VALUE_ATTRIBUTE);
          if (StringUtils.hasLength(attributeName) && StringUtils.hasLength(attributeValue)) {
            BeanMetadataAttribute attribute = new BeanMetadataAttribute(attributeName, attributeValue);
            attribute.setSource(extractSource(attributeEle));
            qualifier.addMetadataAttribute(attribute);
          }
          else {
            error("Qualifier 'attribute' tag must have a 'name' and 'value'", attributeEle);
            return;
          }
View Full Code Here

  private static boolean isQualifierMatch(String qualifier, String beanName, ConfigurableListableBeanFactory bf) {
    if (bf.containsBeanDefinition(beanName)) {
      BeanDefinition bd = bf.getMergedBeanDefinition(beanName);
      if (bd instanceof AbstractBeanDefinition) {
        AbstractBeanDefinition abd = (AbstractBeanDefinition) bd;
        AutowireCandidateQualifier candidate = abd.getQualifier(Qualifier.class.getName());
        if ((candidate != null && qualifier.equals(candidate.getAttribute(AutowireCandidateQualifier.VALUE_KEY))) ||
            qualifier.equals(beanName) || ObjectUtils.containsElement(bf.getAliases(beanName), qualifier)) {
          return true;
        }
      }
      if (bd instanceof RootBeanDefinition) {
View Full Code Here

            def.setFactoryMethodName("getInstance");
            def.setLazyInit(true);
            def.setTargetType(adapter.getComponentImplementation());
            if (key instanceof String)
            {
               def.addQualifier(new AutowireCandidateQualifier(Named.class, key));
            }
            else if (key instanceof Class<?> && ((Class<?>)key).isAnnotation())
            {
               def.addQualifier(new AutowireCandidateQualifier((Class<?>)key));
            }
            else
            {
               def.setPrimary(true);
            }
View Full Code Here

          + "\" does not extend AbstractBeanDefinition, so we can't set depends-on");
      return;
    }

    AbstractBeanDefinition abd = (AbstractBeanDefinition) beanDefinition;
    AutowireCandidateQualifier qualifier = new AutowireCandidateQualifier(_type);

    if (StringUtils.hasLength(_value))
      qualifier.setAttribute(AutowireCandidateQualifier.VALUE_KEY, _value);

    abd.addQualifier(qualifier);
  }
View Full Code Here

      for (Annotation annotation : qualifiers) {
        if (annotation instanceof Named) {
          name = ((Named) annotation).value();
        }
        Class<? extends Annotation> annotationType = annotation.annotationType();
        AutowireCandidateQualifier md = new AutowireCandidateQualifier(annotationType.getName());
        for (Method method : annotationType.getMethods()) {
          if (method.getParameterTypes().length == 0 && method.getDeclaringClass() != Object.class) {
            try {
              String attrName = method.getName();
              Object attrValue = method.invoke(annotation);
              md.addMetadataAttribute(new BeanMetadataAttribute(attrName, attrValue));
            }
            catch (Exception e) {
              throw new UnsupportedOperationException("handle me gracefully", e);
            }
          }
View Full Code Here

      // Provide the current module beans
      Map<String, Object> providedSingletons = new HashMap<>();
      providedSingletons.put( AcrossModule.CURRENT_MODULE + "Info",
                              new PrimarySingletonBean(
                                  moduleInfo,
                                  new AutowireCandidateQualifier( Module.class.getName(),
                                                                  AcrossModule.CURRENT_MODULE )
                              )
      );
      providedSingletons.put( AcrossModule.CURRENT_MODULE,
                              new PrimarySingletonBean(
                                  module,
                                  new AutowireCandidateQualifier( Module.class.getName(),
                                                                  AcrossModule.CURRENT_MODULE )
                              )
      );
      providedSingletons.put( AcrossModule.CURRENT_MODULE + "Settings",
                              new PrimarySingletonBean(
                                  moduleInfo.getSettings(),
                                  new AutowireCandidateQualifier( Module.class.getName(),
                                                                  AcrossModule.CURRENT_MODULE )
                              )
      );

      config.addApplicationContextConfigurer( new ProvidedBeansConfigurer( providedSingletons ) );
View Full Code Here

TOP

Related Classes of org.springframework.beans.factory.support.AutowireCandidateQualifier

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.