Example usage for org.springframework.beans.factory.groovy GroovyBeanDefinitionWrapper GroovyBeanDefinitionWrapper

List of usage examples for org.springframework.beans.factory.groovy GroovyBeanDefinitionWrapper GroovyBeanDefinitionWrapper

Introduction

In this page you can find the example usage for org.springframework.beans.factory.groovy GroovyBeanDefinitionWrapper GroovyBeanDefinitionWrapper.

Prototype

public GroovyBeanDefinitionWrapper(String beanName) 

Source Link

Usage

From source file:org.springframework.beans.factory.groovy.GroovyBeanDefinitionReader.java

protected void applyPropertyToBeanDefinition(String name, Object value) {
    if (value instanceof GString) {
        value = value.toString();/* w  ww .  j  av  a2s . c o m*/
    }
    if (addDeferredProperty(name, value)) {
        return;
    } else if (value instanceof Closure) {
        GroovyBeanDefinitionWrapper current = this.currentBeanDefinition;
        try {
            Closure callable = (Closure) value;
            Class<?> parameterType = callable.getParameterTypes()[0];
            if (Object.class == parameterType) {
                this.currentBeanDefinition = new GroovyBeanDefinitionWrapper("");
                callable.call(this.currentBeanDefinition);
            } else {
                this.currentBeanDefinition = new GroovyBeanDefinitionWrapper(null, parameterType);
                callable.call((Object) null);
            }

            value = this.currentBeanDefinition.getBeanDefinition();
        } finally {
            this.currentBeanDefinition = current;
        }
    }
    this.currentBeanDefinition.addProperty(name, value);
}

From source file:org.springframework.beans.factory.groovy.GroovyBeanDefinitionReader.java

private GroovyDynamicElementReader createDynamicElementReader(String namespace) {
    XmlReaderContext readerContext = this.groovyDslXmlBeanDefinitionReader
            .createReaderContext(new DescriptiveResource("Groovy"));
    BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate(readerContext);
    boolean decorating = (this.currentBeanDefinition != null);
    if (!decorating) {
        this.currentBeanDefinition = new GroovyBeanDefinitionWrapper(namespace);
    }/*from   w ww  . j av a  2s. c  om*/
    return new GroovyDynamicElementReader(namespace, this.namespaces, delegate, this.currentBeanDefinition,
            decorating) {
        @Override
        protected void afterInvocation() {
            if (!this.decorating) {
                currentBeanDefinition = null;
            }
        }
    };
}