List of usage examples for org.springframework.beans.factory.groovy GroovyBeanDefinitionWrapper GroovyBeanDefinitionWrapper
public GroovyBeanDefinitionWrapper(String beanName)
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; } } }; }