|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgroovy.lang.GroovyObjectSupport
hudson.util.spring.BeanBuilder
public class BeanBuilder
Runtime bean configuration wrapper. Like a Groovy builder, but more of a DSL for Spring configuration. Allows syntax like:
import org.hibernate.SessionFactory import org.apache.commons.dbcp.BasicDataSource BeanBuilder builder = new BeanBuilder() builder.beans { dataSource(BasicDataSource) { // <--- invokeMethod driverClassName = "org.hsqldb.jdbcDriver" url = "jdbc:hsqldb:mem:grailsDB" username = "sa" // <-- setProperty password = "" settings = [mynew:"setting"] } sessionFactory(SessionFactory) { dataSource = dataSource // <-- getProperty for retrieving refs } myService(MyService) { nestedBean = { AnotherBean bean-> // <-- setProperty with closure for nested bean dataSource = dataSource } } }
You can also use the Spring IO API to load resources containing beans defined as a Groovy script using either the constructors or the loadBeans(Resource[] resources) method
Constructor Summary | |
---|---|
BeanBuilder()
|
|
BeanBuilder(org.springframework.context.ApplicationContext parent)
|
|
BeanBuilder(org.springframework.context.ApplicationContext parent,
ClassLoader classLoader)
|
|
BeanBuilder(ClassLoader classLoader)
|
Method Summary | |
---|---|
BeanBuilder |
beans(groovy.lang.Closure callable)
When an methods argument is only a closure it is a set of bean definitions |
org.springframework.web.context.WebApplicationContext |
createApplicationContext()
|
org.springframework.beans.factory.config.BeanDefinition |
getBeanDefinition(String name)
Retrieves a BeanDefinition for the given name |
Map<String,org.springframework.beans.factory.config.BeanDefinition> |
getBeanDefinitions()
Retrieves all BeanDefinitions for this BeanBuilder |
org.springframework.context.ApplicationContext |
getParentCtx()
Retrieves the parent ApplicationContext |
Object |
getProperty(String name)
This method overrides property retrieval in the scope of the BeanBuilder to either: a) Retrieve a variable from the bean builder's binding if it exits b) Retrieve a RuntimeBeanReference for a specific bean if it exists c) Otherwise just delegate to super.getProperty which will resolve properties from the BeanBuilder itself |
hudson.util.spring.RuntimeSpringConfiguration |
getSpringConfig()
Retrieves the RuntimeSpringConfiguration instance used the the BeanBuilder |
void |
loadBeans(org.springframework.core.io.Resource resource)
Loads a single Resource into the bean builder |
void |
loadBeans(org.springframework.core.io.Resource[] resources)
Loads a set of given beans |
void |
loadBeans(String resourcePattern)
Takes a resource pattern as (@see org.springframework.core.io.support.PathMatchingResourcePatternResolver) This allows you load multiple bean resources in this single builder eg loadBeans("classpath:*Beans.groovy") |
Object |
methodMissing(String name,
Object arg)
This method is invoked by Groovy when a method that's not defined in Java is invoked. |
org.springframework.beans.factory.config.RuntimeBeanReference |
parentRef(String refName)
|
void |
parse(InputStream script)
Parses the bean definition groovy script. |
void |
parse(InputStream script,
groovy.lang.Binding binding)
Parses the bean definition groovy script by first exporting the given Binding . |
org.springframework.beans.factory.config.RuntimeBeanReference |
ref(String refName)
|
org.springframework.beans.factory.config.RuntimeBeanReference |
ref(String refName,
boolean parentRef)
|
void |
registerBeans(org.springframework.context.support.StaticApplicationContext ctx)
|
void |
setBinding(groovy.lang.Binding b)
Sets the binding (the variables available in the scope of the BeanBuilder) |
void |
setProperty(String name,
Object value)
This method overrides property setting in the scope of the BeanBuilder to set properties on the current BeanConfiguration |
void |
setSpringConfig(hudson.util.spring.RuntimeSpringConfiguration springConfig)
Sets the runtime Spring configuration instance to use. |
Methods inherited from class groovy.lang.GroovyObjectSupport |
---|
getMetaClass, invokeMethod, setMetaClass |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public BeanBuilder()
public BeanBuilder(ClassLoader classLoader)
public BeanBuilder(org.springframework.context.ApplicationContext parent)
public BeanBuilder(org.springframework.context.ApplicationContext parent, ClassLoader classLoader)
Method Detail |
---|
public void parse(InputStream script)
public void parse(InputStream script, groovy.lang.Binding binding)
Binding
.
public org.springframework.context.ApplicationContext getParentCtx()
public hudson.util.spring.RuntimeSpringConfiguration getSpringConfig()
public org.springframework.beans.factory.config.BeanDefinition getBeanDefinition(String name)
name
- The bean definition
public Map<String,org.springframework.beans.factory.config.BeanDefinition> getBeanDefinitions()
public void setSpringConfig(hudson.util.spring.RuntimeSpringConfiguration springConfig)
springConfig
- The spring configpublic void loadBeans(String resourcePattern) throws IOException
resourcePattern
-
IOException
- When the path cannot be matchedpublic void loadBeans(org.springframework.core.io.Resource resource) throws IOException
resource
- The resource to load
IOException
- When an error occurspublic void loadBeans(org.springframework.core.io.Resource[] resources) throws IOException
resources
- The resources to load
IOException
public void registerBeans(org.springframework.context.support.StaticApplicationContext ctx)
public org.springframework.beans.factory.config.RuntimeBeanReference ref(String refName)
public org.springframework.beans.factory.config.RuntimeBeanReference parentRef(String refName)
public org.springframework.beans.factory.config.RuntimeBeanReference ref(String refName, boolean parentRef)
public Object methodMissing(String name, Object arg)
public org.springframework.web.context.WebApplicationContext createApplicationContext()
public BeanBuilder beans(groovy.lang.Closure callable)
callable
- The closure argumentpublic void setProperty(String name, Object value)
setProperty
in interface groovy.lang.GroovyObject
setProperty
in class groovy.lang.GroovyObjectSupport
public Object getProperty(String name)
getProperty
in interface groovy.lang.GroovyObject
getProperty
in class groovy.lang.GroovyObjectSupport
public void setBinding(groovy.lang.Binding b)
b
- The Binding instance
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |