Example usage for org.springframework.beans.factory.config BeanDefinition setScope

List of usage examples for org.springframework.beans.factory.config BeanDefinition setScope

Introduction

In this page you can find the example usage for org.springframework.beans.factory.config BeanDefinition setScope.

Prototype

void setScope(@Nullable String scope);

Source Link

Document

Override the target scope of this bean, specifying a new scope name.

Usage

From source file:org.springframework.social.config.support.ProviderConfigSupport.java

public static BeanDefinition registerApiBindingBean(BeanDefinitionRegistry registry,
        Class<? extends ApiHelper<?>> apiHelperClass, Class<?> apiBindingType) {
    if (logger.isDebugEnabled()) {
        logger.debug("Registering API Helper bean for " + ClassUtils.getShortName(apiBindingType));
    }//from w  ww .  j  a  va 2s.  co m
    String helperId = "__" + ClassUtils.getShortNameAsProperty(apiBindingType) + "ApiHelper";
    // TODO: Make the bean IDs here configurable.
    BeanDefinition helperBD = BeanDefinitionBuilder.genericBeanDefinition(apiHelperClass)
            .addConstructorArgReference("usersConnectionRepository").addConstructorArgReference("userIdSource")
            .getBeanDefinition();
    registry.registerBeanDefinition(helperId, helperBD);

    if (logger.isDebugEnabled()) {
        logger.debug("Creating API Binding bean for " + ClassUtils.getShortName(apiBindingType));
    }
    BeanDefinition bindingBD = BeanDefinitionBuilder.genericBeanDefinition().getBeanDefinition();
    bindingBD.setFactoryBeanName(helperId);
    bindingBD.setFactoryMethodName("getApi");
    bindingBD.setScope("request");
    BeanDefinitionHolder scopedProxyBDH = ScopedProxyUtils.createScopedProxy(
            new BeanDefinitionHolder(bindingBD, ClassUtils.getShortNameAsProperty(apiBindingType)), registry,
            false);
    registry.registerBeanDefinition(scopedProxyBDH.getBeanName(), scopedProxyBDH.getBeanDefinition());
    return scopedProxyBDH.getBeanDefinition();
}

From source file:org.springframework.social.config.support.ProviderConfigurationSupport.java

private BeanDefinition registerApiBindingBean(BeanDefinitionRegistry registry,
        Class<? extends ApiHelper<?>> apiHelperClass, Class<?> apiBindingType,
        Map<String, Object> allAttributes) {
    if (logger.isDebugEnabled()) {
        logger.debug("Registering API Helper bean for " + ClassUtils.getShortName(apiBindingType));
    }//from   ww  w .  ja  v a 2 s.  c o  m
    String helperId = "__" + ClassUtils.getShortNameAsProperty(apiBindingType) + "ApiHelper";
    // TODO: Make the bean IDs here configurable.
    BeanDefinition helperBD = getApiHelperBeanDefinitionBuilder(allAttributes).getBeanDefinition();
    registry.registerBeanDefinition(helperId, helperBD);

    if (logger.isDebugEnabled()) {
        logger.debug("Creating API Binding bean for " + ClassUtils.getShortName(apiBindingType));
    }
    BeanDefinition bindingBD = BeanDefinitionBuilder.genericBeanDefinition().getBeanDefinition();
    bindingBD.setFactoryBeanName(helperId);
    bindingBD.setFactoryMethodName("getApi");
    bindingBD.setScope("request");
    BeanDefinitionHolder scopedProxyBDH = ScopedProxyUtils.createScopedProxy(
            new BeanDefinitionHolder(bindingBD, ClassUtils.getShortNameAsProperty(apiBindingType)), registry,
            false);
    registry.registerBeanDefinition(scopedProxyBDH.getBeanName(), scopedProxyBDH.getBeanDefinition());
    return scopedProxyBDH.getBeanDefinition();
}