Example usage for org.springframework.beans.factory.support BeanDefinitionBuilder setAutowireMode

List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder setAutowireMode

Introduction

In this page you can find the example usage for org.springframework.beans.factory.support BeanDefinitionBuilder setAutowireMode.

Prototype

public BeanDefinitionBuilder setAutowireMode(int autowireMode) 

Source Link

Document

Set the autowire mode for this definition.

Usage

From source file:org.spearal.spring.rest.xml.SpearalRestBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    if ("".equals(element.getAttribute(ID_ATTRIBUTE)))
        element.setAttribute(ID_ATTRIBUTE, SpearalRestConfigurator.class.getName());

    if (!parserContext.getRegistry().containsBeanDefinition(SpearalMessageConverter.class.getName())) {
        BeanDefinitionBuilder messageConverterBuilder = BeanDefinitionBuilder
                .genericBeanDefinition(SpearalMessageConverter.class);
        messageConverterBuilder.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_CONSTRUCTOR);
        registerInfrastructureComponent(element, parserContext, messageConverterBuilder,
                SpearalMessageConverter.class.getName());
    }//from w w w.  j a  v a2 s.c o  m

    if (!parserContext.getRegistry().containsBeanDefinition(SpearalResponseBodyAdvice.class.getName())) {
        BeanDefinitionBuilder responseBodyAdviceBuilder = BeanDefinitionBuilder
                .genericBeanDefinition(SpearalResponseBodyAdvice.class);
        responseBodyAdviceBuilder.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_CONSTRUCTOR);
        registerInfrastructureComponent(element, parserContext, responseBodyAdviceBuilder,
                SpearalResponseBodyAdvice.class.getName());
    }
}

From source file:org.lightadmin.core.config.bootstrap.LightAdminBeanDefinitionRegistryPostProcessor.java

private BeanDefinition repositoryEventListener(
        Class<? extends AbstractRepositoryEventListener> repositoryEventListener) {
    BeanDefinitionBuilder builder = rootBeanDefinition(repositoryEventListener);
    builder.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_AUTODETECT);
    return builder.getBeanDefinition();
}

From source file:org.zalando.spring.data.businesskey.config.BusinessKeyBeanDefinitionRegistrarSupport.java

private BeanDefinitionBuilder configureDefaultBusinessKeyHandlerAttributes(
        final BusinessKeyConfiguration configuration, final BeanDefinitionBuilder builder) {

    if (StringUtils.hasText(configuration.getBusinessKeyAwareRef())) {
        builder.addPropertyValue(KEYGENERATOR,
                createLazyInitTargetSourceBeanDefinition(configuration.getBusinessKeyAwareRef()));
    } else {//from  w  w w  .j a va  2s.c o  m
        builder.setAutowireMode(AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE);
    }

    builder.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE);

    return builder;
}

From source file:io.fabric8.spring.boot.AbstractServiceRegistar.java

private BeanDefinitionHolder createServiceDefinition(Service service, String alias, String protocol,
        String port, Class type) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder
            .genericBeanDefinition(KubernetesServiceFactoryBean.class);

    builder.addPropertyValue("name", alias);
    builder.addPropertyValue("service", service);
    builder.addPropertyValue("port", port);
    builder.addPropertyValue("type", type.getCanonicalName());
    builder.setAutowireMode(Autowire.BY_TYPE.value());
    //Add protocol qualifier
    builder.getBeanDefinition()/* w  w w  .  ja  v  a 2 s  .c om*/
            .addQualifier(new AutowireCandidateQualifier(ServiceName.class, KubernetesHelper.getName(service)));
    builder.getBeanDefinition().addQualifier(new AutowireCandidateQualifier(Protocol.class, protocol));
    builder.getBeanDefinition()
            .addQualifier(new AutowireCandidateQualifier(PortName.class, port != null ? port : ""));
    return new BeanDefinitionHolder(builder.getBeanDefinition(), alias);
}

From source file:org.zalando.spring.data.businesskey.jpa.config.JpaBusinessKeyRegistrar.java

protected BeanDefinition getKeyHandlerBeanDefinition(final BeanDefinitionRegistry registry) {

    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(BusinessKeyHandler.class);

    // String keyGeneratorRef = "simpleBusinessKeyGenerator";
    String keyGeneratorRef = "";
    if (StringUtils.hasText(keyGeneratorRef)) {
        builder.addPropertyValue("keyGenerator", createLazyInitTargetSourceBeanDefinition(keyGeneratorRef));
    } else {/*from   www. ja  va  2  s.  c  o m*/
        builder.setAutowireMode(AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE);
    }

    builder.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE);

    AbstractBeanDefinition abd = builder.getBeanDefinition();

    registry.registerBeanDefinition("keyHandler", abd);

    return abd;
}

From source file:io.fabric8.spring.boot.AbstractServiceRegistar.java

private <S, T> BeanDefinitionHolder createConverterBean(Class type, String methodName, Class<S> sourceType,
        Class<T> targetType) {

    BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(FactoryConverter.class);

    String beanName = type.getName() + "." + methodName;
    builder.addPropertyValue("name", methodName);
    builder.addPropertyValue("type", type.getCanonicalName());
    builder.addPropertyValue("sourceType", sourceType.getCanonicalName());
    builder.addPropertyValue("targetType", targetType.getCanonicalName());

    builder.setAutowireMode(Autowire.BY_TYPE.value());
    return new BeanDefinitionHolder(builder.getBeanDefinition(), beanName);
}

From source file:com.apporiented.spring.override.AbstractGenericBeanDefinitionParser.java

/**
 * Creates a {@link org.springframework.beans.factory.support.BeanDefinitionBuilder} instance for the
 * bean class and passes it to the// ww w .ja v  a 2  s . c om
 * {@link #doParse} strategy method.
 * @param element the element that is to be parsed into a single BeanDefinition
 * @param parserContext the object encapsulating the current state of the parsing process
 * @return the BeanDefinition resulting from the parsing of the supplied {@link org.w3c.dom.Element}
 * @throws IllegalStateException if the bean {@link Class} returned from
 * bean class is <code>null</code>
 * @see #doParse
 */
protected final AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(beanClass);
    builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));
    if (parserContext.isNested()) {
        // Inner bean definition must receive same scope as containing bean.
        builder.setScope(parserContext.getContainingBeanDefinition().getScope());
    }
    if (parserContext.isDefaultLazyInit()) {
        // Default-lazy-init applies to custom bean definitions as well.
        builder.setLazyInit(true);
    }
    builder.setAutowireMode(autowireMode);
    builder.setFactoryMethod(factoryMethod);
    doParse(element, parserContext, builder);
    return builder.getBeanDefinition();
}

From source file:org.jdal.beans.ServiceBeanDefinitionParser.java

/**
 * {@inheritDoc}//from  w w w  . j a v  a  2s . com
 */
public AbstractBeanDefinition parse(Element element, ParserContext parserContext) {

    // default dao and service classes
    String daoClassName = JPA_DAO_CLASS_NAME;
    String serviceClassName = PERSISTENT_SERVICE_CLASS_NAME;
    String name = null;
    boolean declareService = false;

    if (element.hasAttribute(DAO_CLASS))
        daoClassName = element.getAttribute(DAO_CLASS);

    if (element.hasAttribute(SERVICE_CLASS)) {
        serviceClassName = element.getAttribute(SERVICE_CLASS);
        declareService = true;
    }

    if (element.hasAttribute(NAME))
        name = element.getAttribute(NAME);

    if (element.hasAttribute(ENTITY)) {
        String className = element.getAttribute(ENTITY);
        if (name == null) {
            name = StringUtils
                    .uncapitalize(StringUtils.substringAfterLast(className, PropertyUtils.PROPERTY_SEPARATOR));
        }
        parserContext.pushContainingComponent(
                new CompositeComponentDefinition(name, parserContext.extractSource(element)));

        // Dao
        BeanDefinitionBuilder daoBuilder = BeanDefinitionBuilder.genericBeanDefinition(daoClassName);
        NodeList nl = element.getElementsByTagNameNS(element.getNamespaceURI(), CRITERIA);
        if (nl.getLength() > 0) {
            ManagedMap<String, BeanReference> builders = new ManagedMap<String, BeanReference>(nl.getLength());
            for (int i = 0; i < nl.getLength(); i++) {
                Element e = (Element) nl.item(i);
                builders.put(e.getAttribute(NAME), new RuntimeBeanReference(e.getAttribute(BUILDER)));
            }
            daoBuilder.addPropertyValue(CRITERIA_BUILDER_MAP, builders);
        }

        daoBuilder.addConstructorArgValue(ClassUtils.resolveClassName(className, null));
        daoBuilder.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE);
        String daoBeanName;

        if (declareService) {
            // use dao suffix
            daoBeanName = name + DAO_SUFFIX;
            registerBeanDefinition(parserContext, daoBuilder, daoBeanName);

            // register service wrapper
            String serviceBeanName = name + SERVICE_SUFFIX;
            BeanDefinitionBuilder serviceBuilder = BeanDefinitionBuilder
                    .genericBeanDefinition(serviceClassName);
            serviceBuilder.addPropertyReference("dao", daoBeanName);
            registerBeanDefinition(parserContext, serviceBuilder, serviceBeanName);
        } else {
            // use service suffix for dao and declare an alias with dao suffix for compatibility with older api.
            daoBeanName = name + SERVICE_SUFFIX;
            String[] aliases = new String[] { name + DAO_SUFFIX };
            BeanComponentDefinition bcd = new BeanComponentDefinition(daoBuilder.getBeanDefinition(),
                    daoBeanName, aliases);
            parserContext.registerBeanComponent(bcd);
        }

        parserContext.popAndRegisterContainingComponent();
    }

    return null;
}