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

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

Introduction

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

Prototype

public BeanDefinitionBuilder setFactoryMethod(String factoryMethod) 

Source Link

Document

Set the name of a static factory method to use for this definition, to be called on this bean's class.

Usage

From source file:com.dealer.metrics.spring.graphite.config.GraphiteReporterBeanDefinitionParser.java

@Override
protected void doParse(final Element element, final BeanDefinitionBuilder builder) {
    builder.setFactoryMethod(FACTORY_METHOD_NAME);
    builder.addConstructorArgReference(element.getAttribute(METRICS_REGISTRY_ATTRIBUTE_NAME));
    builder.addConstructorArgValue(element.getAttribute(GraphiteReporterFactory.PREFIX_ATTRIBUTE_NAME));
    builder.addConstructorArgValue(element.getAttribute(GraphiteReporterFactory.HOST_ATTRIBUTE_NAME));
    builder.addConstructorArgValue(element.getAttribute(GraphiteReporterFactory.PORT_ATTRIBUTE_NAME));
    builder.addConstructorArgValue(element.getAttribute(GraphiteReporterFactory.CLOCK_ATTRIBUTE_NAME));
    builder.addConstructorArgValue(element.getAttribute(GraphiteReporterFactory.PERIOD_ATTRIBUTE_NAME));
    builder.addConstructorArgValue(element.getAttribute(GraphiteReporterFactory.TIME_UNIT_ATTRIBUTE_NAME));
}

From source file:com.ryantenney.metrics.spring.config.MetricRegistryBeanDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    final Object source = parserContext.extractSource(element);
    final String name = element.getAttribute("name");
    if (StringUtils.hasText(name)) {
        final BeanDefinitionBuilder beanDefBuilder = build(SharedMetricRegistries.class, source);
        beanDefBuilder.setFactoryMethod("getOrCreate");
        beanDefBuilder.addConstructorArgValue(name);
        return beanDefBuilder.getBeanDefinition();
    } else {// www  .  ja va 2 s.  com
        return build(MetricRegistry.class, source).getBeanDefinition();
    }
}

From source file:biz.c24.io.spring.config.C24ModelBeanDefinitionParser.java

/**
 * Creates an {@link AbstractBeanDefinition} for an {@link biz.c24.io.api.data.Element}.
 * //from   www.j av a 2s  . c o m
 * @param baseElement
 * @param context
 * @param source
 * @return
 */
private AbstractBeanDefinition getC24ModelFromElement(String baseElement, ParserContext context,
        Object source) {

    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(baseElement);
    builder.setFactoryMethod("getInstance");
    return getSourcedBeanDefinition(builder, source);
}

From source file:fr.xebia.springframework.security.config.AuditAspectDefinitionParser.java

protected void postProcess(BeanDefinitionBuilder beanDefinition, Element element) {
    // see http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/aop.html#aop-aj-configure
    beanDefinition.setFactoryMethod("aspectOf");
}

From source file:com.sinosoft.one.data.jpa.repository.config.OneJpaRepositoryConfigDefinitionParser.java

/**
 * Creates an anonymous factory to extract the actual {@link javax.persistence.EntityManager} from the
 * {@link javax.persistence.EntityManagerFactory} bean name reference.
 * /*from ww  w.java 2  s.  c o  m*/
 * @param entityManagerFactoryBeanName
 * @param source
 * @return
 */
private BeanDefinition getEntityManagerBeanDefinitionFor(String entityManagerFactoryBeanName, Object source) {

    BeanDefinitionBuilder builder = BeanDefinitionBuilder
            .rootBeanDefinition("org.springframework.orm.jpa.SharedEntityManagerCreator");
    builder.setFactoryMethod("createSharedEntityManager");
    builder.addConstructorArgReference(entityManagerFactoryBeanName);

    AbstractBeanDefinition bean = builder.getRawBeanDefinition();
    bean.setSource(source);

    return bean;
}

From source file:fr.xebia.management.config.ProfileAspectDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ProfileAspect.class);

    // see http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/aop.html#aop-aj-configure
    builder.setFactoryMethod("aspectOf");

    // Mark as infrastructure bean and attach source location.
    builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
    builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));

    String serverBeanName = element.getAttribute(SERVER_ATTRIBUTE);
    if (StringUtils.hasText(serverBeanName)) {
        builder.addPropertyReference("server", serverBeanName);
    } else {//from w  ww.jav  a 2  s  .c o m
        AbstractBeanDefinition specialServer = findServerForSpecialEnvironment();
        if (specialServer != null) {
            builder.addPropertyValue("server", specialServer);
        }
    }

    String jmxDomain = element.getAttribute(JMX_DOMAIN_ATTRIBUTE);
    if (StringUtils.hasLength(jmxDomain)) {
        builder.addPropertyValue("jmxDomain", jmxDomain);
    }
    return builder.getBeanDefinition();
}

From source file:com.cloudseal.spring.client.namespace.CloudSealBeanDefinitionParserInstance.java

private BeanDefinition createVelocityEngine() {
    BeanDefinitionBuilder builder = createBean(VelocityFactory.class);
    builder.setFactoryMethod("getEngine");
    return builder.getBeanDefinition();
}

From source file:org.jboss.snowdrop.context.support.JBossJcaResourceAdapterParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    ClassLoader classLoader = getClass().getClassLoader();
    if (classLoader.getClass().getName().startsWith("org.jboss.classloader")) {
        BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition();
        builder.getRawBeanDefinition().setFactoryBeanName(DEFAULT_JBOSS_MBEAN_SERVER_BEAN_NAME);
        builder.getRawBeanDefinition().setFactoryMethodName(FACTORY_METHOD_NAME);
        try {/*from www.  ja  va  2 s  .com*/
            builder.addConstructorArgValue(ObjectName.getInstance(DEFAULT_JCA_MBEAN_NAME));
        } catch (MalformedObjectNameException e) {
            throw new IllegalArgumentException(e);
        }
        builder.addConstructorArgValue("ResourceAdapter");
        return builder.getBeanDefinition();
    } else {
        BeanDefinitionBuilder builder = BeanDefinitionBuilder
                .rootBeanDefinition("org.jboss.snowdrop.context.support.ActivatorHolder");
        builder.setFactoryMethod("getResourceAdapter");
        return builder.getBeanDefinition();
    }
}

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// w  w w .j a  va2  s .co m
 * {@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:de.itsvs.cwtrpc.controller.config.AutowiredRemoteServiceGroupConfigBeanDefinitionParser.java

protected BeanDefinition parseFilter(Element element, ParserContext parserContext) {
    final BeanDefinitionBuilder bdd;
    final Object type;
    final String expression;

    bdd = BeanDefinitionBuilder.rootBeanDefinition(PatternFactory.class);
    bdd.getRawBeanDefinition().setSource(parserContext.extractSource(element));
    if (parserContext.isDefaultLazyInit()) {
        bdd.setLazyInit(true);//from  w w w.ja  va  2s .  co  m
    }

    if (element.hasAttribute(XmlNames.TYPE_ATTR)) {
        type = element.getAttribute(XmlNames.TYPE_ATTR);
    } else {
        type = DEFAULT_PATTERN_TYPE;
    }

    expression = element.getAttribute(XmlNames.EXPRESSION_ATTR);
    if (!StringUtils.hasText(expression)) {
        parserContext.getReaderContext().error("Filter expression must not be empty",
                parserContext.extractSource(element));
    }

    bdd.setFactoryMethod("compile");
    bdd.addConstructorArgValue(type);
    bdd.addConstructorArgValue(MatcherType.PACKAGE);
    bdd.addConstructorArgValue(expression);

    return bdd.getBeanDefinition();
}