Example usage for org.springframework.beans.factory.config ConstructorArgumentValues addIndexedArgumentValue

List of usage examples for org.springframework.beans.factory.config ConstructorArgumentValues addIndexedArgumentValue

Introduction

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

Prototype

public void addIndexedArgumentValue(int index, ValueHolder newValue) 

Source Link

Document

Add an argument value for the given index in the constructor argument list.

Usage

From source file:co.paralleluniverse.common.spring.SpringContainerHelper.java

public static ConstructorArgumentValues constructorArgs(Object... args) {
    ConstructorArgumentValues cav = new ConstructorArgumentValues();
    for (int i = 0; i < args.length; i++)
        cav.addIndexedArgumentValue(i, args[i]);
    return cav;//from  w  ww  .ja  v  a  2 s .co  m
}

From source file:com.griddynamics.banshun.config.xml.ImportBeanDefinitionParser.java

/**
 * Creates arguments definition for the {@link Registry#lookup(String, Class) lookup()} method
 * of the registry bean.//  w  w  w  . jav  a2s. c  om
 */
private ConstructorArgumentValues defineLookupMethodArgs(String serviceName, Class<?> serviceIface) {

    ConstructorArgumentValues holder = new ConstructorArgumentValues();
    holder.addIndexedArgumentValue(0, serviceName);
    holder.addIndexedArgumentValue(1, serviceIface);

    return holder;
}

From source file:pl.chilldev.web.spring.config.StylesheetBeanDefinitionParser.java

/**
 * {@inheritDoc}/*from   ww w  .  j a  va 2  s . co  m*/
 * @since 0.0.2
 */
@Override
public BeanDefinition parse(Element element, ParserContext parserContext) {
    String href = element.getAttribute(LinkBeanDefinitionParser.ATTRIBUTE_HREF);

    GenericBeanDefinition stylesheet = new GenericBeanDefinition();
    stylesheet.setBeanClass(Stylesheet.class);

    int i = 0;
    ConstructorArgumentValues arguments = stylesheet.getConstructorArgumentValues();
    arguments.addIndexedArgumentValue(i++, href);
    arguments.addIndexedArgumentValue(i++,
            DomUtils.getRealAttributeValue(element, LinkBeanDefinitionParser.ATTRIBUTE_TYPE));
    arguments.addIndexedArgumentValue(i++,
            DomUtils.getRealAttributeValue(element, LinkBeanDefinitionParser.ATTRIBUTE_MEDIA));

    this.logger.info("Adding \"{}\" stylesheet.", href);
    this.stylesheets.add(stylesheet);

    return null;
}

From source file:pl.chilldev.web.spring.config.ScriptBeanDefinitionParser.java

/**
 * {@inheritDoc}/*from  w  w  w.  j  a  va2  s .c o  m*/
 * @since 0.0.2
 */
@Override
public BeanDefinition parse(Element element, ParserContext parserContext) {
    String src = element.getAttribute(ScriptBeanDefinitionParser.ATTRIBUTE_SRC);

    GenericBeanDefinition script = new GenericBeanDefinition();
    script.setBeanClass(Script.class);

    int i = 0;
    ConstructorArgumentValues arguments = script.getConstructorArgumentValues();
    arguments.addIndexedArgumentValue(i++, src);
    arguments.addIndexedArgumentValue(i++,
            DomUtils.getRealAttributeValue(element, ScriptBeanDefinitionParser.ATTRIBUTE_TYPE));
    arguments.addIndexedArgumentValue(i++,
            DomUtils.getRealAttributeValue(element, ScriptBeanDefinitionParser.ATTRIBUTE_FLOW));
    arguments.addIndexedArgumentValue(i++,
            DomUtils.getRealAttributeValue(element, ScriptBeanDefinitionParser.ATTRIBUTE_CHARSET));

    this.logger.info("Adding \"{}\" script.", src);
    this.scripts.add(script);

    return null;
}

From source file:pl.chilldev.web.spring.config.LinkBeanDefinitionParser.java

/**
 * {@inheritDoc}//w  w  w .j a  v a  2  s .  co  m
 * @since 0.0.2
 */
@Override
public BeanDefinition parse(Element element, ParserContext parserContext) {
    String href = element.getAttribute(LinkBeanDefinitionParser.ATTRIBUTE_HREF);
    Set<String> rels = new HashSet<String>();
    for (Element child : DomUtils.getChildElementsByTagName(element, LinkBeanDefinitionParser.ELEMENT_REL)) {
        rels.add(DomUtils.getTextValue(child));
    }

    GenericBeanDefinition link = new GenericBeanDefinition();
    link.setBeanClass(Link.class);

    int i = 0;
    ConstructorArgumentValues arguments = link.getConstructorArgumentValues();
    arguments.addIndexedArgumentValue(i++, href);
    arguments.addIndexedArgumentValue(i++, rels);
    arguments.addIndexedArgumentValue(i++, pl.chilldev.web.spring.util.DomUtils.getRealAttributeValue(element,
            LinkBeanDefinitionParser.ATTRIBUTE_TYPE));
    arguments.addIndexedArgumentValue(i++, pl.chilldev.web.spring.util.DomUtils.getRealAttributeValue(element,
            LinkBeanDefinitionParser.ATTRIBUTE_MEDIA));

    this.logger.info("Adding \"{}\" link.", href);
    this.links.add(link);

    return null;
}

From source file:com.griddynamics.banshun.config.xml.ExportBeanDefinitionParser.java

/**
 * Creates arguments definition for a constructor of the {@link ExportRef} class.
 *//*from  ww  w .  ja v a2 s.  c  o m*/
private ConstructorArgumentValues defineExportRefConstructorArgs(String serviceName, Class<?> serviceIface,
        String beanName) {

    ConstructorArgumentValues holder = new ConstructorArgumentValues();
    holder.addIndexedArgumentValue(0, serviceName);
    holder.addIndexedArgumentValue(1, serviceIface);
    holder.addIndexedArgumentValue(2, beanName);

    return holder;
}

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

@Override
public BeanDefinition parse(Element element, ParserContext parserContext) {
    final CompositeComponentDefinition compDefinition = new CompositeComponentDefinition(element.getTagName(),
            parserContext.extractSource(element));
    parserContext.pushContainingComponent(compDefinition);

    final String metricRegistryBeanName = element.getAttribute("metric-registry");
    if (!StringUtils.hasText(metricRegistryBeanName)) {
        throw new RuntimeException(); // TODO
    }/*  w  w w  .  j  a v  a2  s .co  m*/
    final RuntimeBeanReference metricRegistryBeanRef = new RuntimeBeanReference(metricRegistryBeanName);

    final List<Element> metricElements = DomUtils.getChildElementsByTagName(element,
            new String[] { "bean", "ref" });
    for (Element metricElement : metricElements) {
        // Get the name attribute and remove it (to prevent Spring from looking for a BeanDefinitionDecorator)
        final String name = metricElement.getAttributeNS(METRICS_NAMESPACE, "name");
        if (name != null) {
            metricElement.removeAttributeNS(METRICS_NAMESPACE, "name");
        }

        final Object metric = parserContext.getDelegate().parsePropertySubElement(metricElement, null);

        final RootBeanDefinition metricRegistererDef = new RootBeanDefinition(MetricRegisterer.class);
        metricRegistererDef.setSource(parserContext.extractSource(metricElement));
        metricRegistererDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);

        final ConstructorArgumentValues args = metricRegistererDef.getConstructorArgumentValues();
        args.addIndexedArgumentValue(0, metricRegistryBeanRef);
        args.addIndexedArgumentValue(1, name);
        args.addIndexedArgumentValue(2, metric);

        final String beanName = parserContext.getReaderContext().registerWithGeneratedName(metricRegistererDef);
        parserContext.registerComponent(new BeanComponentDefinition(metricRegistererDef, beanName));
    }

    parserContext.popAndRegisterContainingComponent();

    return null;
}

From source file:atunit.spring.SpringContainer.java

protected AbstractBeanDefinition defineInstanceHolderFactoryBean(Class<?> type, Object instance)
        throws Exception {
    ConstructorArgumentValues args = new ConstructorArgumentValues();
    args.addIndexedArgumentValue(0, type);
    args.addIndexedArgumentValue(1, instance);

    AbstractBeanDefinition beandef = BeanDefinitionReaderUtils.createBeanDefinition(null,
            InstanceHolderFactoryBean.class.getName(), getClass().getClassLoader());
    beandef.setConstructorArgumentValues(args);
    beandef.setAutowireCandidate(true);// w w  w  .j a  v a2s  .  c  o  m
    return beandef;
}

From source file:org.jsr107.ri.annotations.spring.config.AnnotationDrivenJCacheBeanDefinitionParser.java

/**
 * Create {@link org.aopalliance.intercept.MethodInterceptor} that is applies the caching logic to advised methods.
 *
 * @return Reference to the {@link org.aopalliance.intercept.MethodInterceptor}. Should never be null.
 *//*  www  .jav a 2s. co  m*/
protected RuntimeBeanReference setupInterceptor(Class<? extends AbstractCacheInterceptor<?>> interceptorClass,
        ParserContext parserContext, Object elementSource,
        RuntimeBeanReference cacheOperationSourceRuntimeReference) {

    final RootBeanDefinition interceptor = new RootBeanDefinition(interceptorClass);
    interceptor.setSource(elementSource);
    interceptor.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);

    final ConstructorArgumentValues constructorArgumentValues = new ConstructorArgumentValues();
    constructorArgumentValues.addIndexedArgumentValue(0, cacheOperationSourceRuntimeReference);
    interceptor.setConstructorArgumentValues(constructorArgumentValues);

    final XmlReaderContext readerContext = parserContext.getReaderContext();
    final String interceptorBeanName = readerContext.registerWithGeneratedName(interceptor);
    return new RuntimeBeanReference(interceptorBeanName);
}

From source file:org.jsr107.ri.annotations.spring.config.AnnotationDrivenJCacheBeanDefinitionParser.java

/**
 * Create the {@link RuntimeBeanReference} used to apply the caching interceptor
 *
 * @return Reference to the {@link RuntimeBeanReference}. Should never be null.
 *//*from w w  w  .  j ava 2s  .  c om*/
protected RuntimeBeanReference setupPointcut(ParserContext parserContext, Object elementSource,
        RuntimeBeanReference cacheOperationSourceRuntimeReference,
        RuntimeBeanReference cacheInterceptorSourceRuntimeReference) {

    final RootBeanDefinition pointcut = new RootBeanDefinition(CacheStaticMethodMatcherPointcut.class);
    pointcut.setSource(elementSource);
    pointcut.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);

    final ConstructorArgumentValues constructorArgumentValues = new ConstructorArgumentValues();
    constructorArgumentValues.addIndexedArgumentValue(0, cacheOperationSourceRuntimeReference);
    constructorArgumentValues.addIndexedArgumentValue(1, cacheInterceptorSourceRuntimeReference);
    pointcut.setConstructorArgumentValues(constructorArgumentValues);

    final String pointcutBeanName = pointcut.getBeanClassName() + "_"
            + cacheInterceptorSourceRuntimeReference.getBeanName();

    final BeanDefinitionRegistry registry = parserContext.getRegistry();
    registry.registerBeanDefinition(pointcutBeanName, pointcut);

    return new RuntimeBeanReference(pointcutBeanName);
}