org.codehaus.groovy.grails.commons.spring
Interface RuntimeSpringConfiguration

All Known Implementing Classes:
DefaultRuntimeSpringConfiguration, WebRuntimeSpringConfiguration

public interface RuntimeSpringConfiguration

A programmable runtime Spring configuration that allows a spring ApplicationContext to be constructed at runtime Credit must go to Solomon Duskis and the article: http://jroller.com/page/Solomon?entry=programmatic_configuration_in_spring

Since:
0.3
Author:
Graeme

Method Summary
 BeanConfiguration addAbstractBean(String name)
          Adds an abstract bean definition to the bean factory and returns the BeanConfiguration object
 void addAlias(String alias, String beanName)
          Adds an alias to a given bean name
 void addBeanConfiguration(String beanName, BeanConfiguration beanConfiguration)
          Adds a bean configuration to the list of beans to be created
 void addBeanDefinition(String name, BeanDefinition bd)
          Adds a Spring BeanDefinition.
 BeanConfiguration addPrototypeBean(String name)
          Adds an empty prototype bean configuration
 BeanConfiguration addPrototypeBean(String name, Class clazz)
          Adds a prototype bean definition
 BeanConfiguration addSingletonBean(String name)
          Adds an empty singleton bean configuration
 BeanConfiguration addSingletonBean(String name, Class clazz)
          Adds a singleton bean definition
 BeanConfiguration addSingletonBean(String name, Class clazz, Collection args)
          Creates a new singleton bean and adds it to the list of bean references
 boolean containsBean(String name)
          Returns whether the runtime spring config contains the specified bean
 AbstractBeanDefinition createBeanDefinition(String name)
          Creates and returns the BeanDefinition that is regsitered within the given name or returns null
 BeanConfiguration createPrototypeBean(String name)
          Creates a new prototype bean configuration.
 BeanConfiguration createSingletonBean(Class clazz)
          Creates a singleton bean configuration.
 BeanConfiguration createSingletonBean(Class clazz, Collection constructorArguments)
          Creates a singleton bean configuration.
 BeanConfiguration createSingletonBean(String name)
          Creates a new singleton bean configuration.
 ApplicationContext getApplicationContext()
          Retrieves the application context from the current state
 BeanConfiguration getBeanConfig(String name)
          Returns the BeanConfiguration for the specified name
 BeanDefinition getBeanDefinition(String beanName)
          Obtains a BeanDefinition instance for the given beanName
 List getBeanNames()
           
 ApplicationContext getUnrefreshedApplicationContext()
           
 void registerBeansWithConfig(RuntimeSpringConfiguration targetSpringConfig)
          Registers the beans held within this RuntimeSpringConfiguration instance with the given RuntimeSpringConfiguration
 void registerBeansWithContext(GenericApplicationContext applicationContext)
          Registers the beans held within this RuntimeSpringConfiguration instance with the given ApplicationContext
 void registerBeansWithRegistry(BeanDefinitionRegistry registry)
          Registers the beans held within this RuntimeSpringConfiguration instance with the given BeanDefinitionRegistry
 void registerPostProcessor(BeanFactoryPostProcessor processor)
          Registers a bean factory post processor with the context
 void setBeanFactory(ListableBeanFactory beanFactory)
          Sets the BeanFactory implementation to use
 

Method Detail

addSingletonBean

BeanConfiguration addSingletonBean(String name,
                                   Class clazz)
Adds a singleton bean definition

Parameters:
name - The name of the bean
clazz - The class of the bean
Returns:
A BeanConfiguration instance

getUnrefreshedApplicationContext

ApplicationContext getUnrefreshedApplicationContext()

addPrototypeBean

BeanConfiguration addPrototypeBean(String name,
                                   Class clazz)
Adds a prototype bean definition

Parameters:
name - The name of the bean
clazz - The class of the bean
Returns:
A BeanConfiguration instance

getApplicationContext

ApplicationContext getApplicationContext()
Retrieves the application context from the current state

Returns:
The ApplicationContext instance

addSingletonBean

BeanConfiguration addSingletonBean(String name)
Adds an empty singleton bean configuration

Parameters:
name - The name of the singleton bean
Returns:
A BeanConfiguration instance

addPrototypeBean

BeanConfiguration addPrototypeBean(String name)
Adds an empty prototype bean configuration

Parameters:
name - The name of the prototype bean
Returns:
A BeanConfiguration instance

createSingletonBean

BeanConfiguration createSingletonBean(Class clazz)
Creates a singleton bean configuration. Differs from addSingletonBean in that it doesn't add the bean to the list of bean references. Hence should be used for creating nested beans

Parameters:
clazz -
Returns:
A BeanConfiguration instance

addSingletonBean

BeanConfiguration addSingletonBean(String name,
                                   Class clazz,
                                   Collection args)
Creates a new singleton bean and adds it to the list of bean references

Parameters:
name - The name of the bean
clazz - The class of the bean
args - The constructor arguments of the bean
Returns:
A BeanConfiguration instance

createSingletonBean

BeanConfiguration createSingletonBean(Class clazz,
                                      Collection constructorArguments)
Creates a singleton bean configuration. Differs from addSingletonBean in that it doesn't add the bean to the list of bean references. Hence should be used for creating nested beans

Parameters:
clazz - The bean class
constructorArguments - The constructor arguments
Returns:
A BeanConfiguration instance

createPrototypeBean

BeanConfiguration createPrototypeBean(String name)
Creates a new prototype bean configuration. Differs from addPrototypeBean in that it doesn't add the bean to the list of bean references to be created via the getApplicationContext() method, hence can be used for creating nested beans

Parameters:
name - The bean name
Returns:
A BeanConfiguration instance

createSingletonBean

BeanConfiguration createSingletonBean(String name)
Creates a new singleton bean configuration. Differs from addSingletonBean in that it doesn't add the bean to the list of bean references to be created via the getApplicationContext() method, hence can be used for creating nested beans

Parameters:
name - The bean name
Returns:
A BeanConfiguration instance

addBeanConfiguration

void addBeanConfiguration(String beanName,
                          BeanConfiguration beanConfiguration)
Adds a bean configuration to the list of beans to be created

Parameters:
beanName - The name of the bean in the context
beanConfiguration - The BeanConfiguration instance

addBeanDefinition

void addBeanDefinition(String name,
                       BeanDefinition bd)
Adds a Spring BeanDefinition. Differs from BeanConfiguration which is a factory class for creating BeanDefinition instances

Parameters:
name - The name of the bean
bd - The BeanDefinition instance

containsBean

boolean containsBean(String name)
Returns whether the runtime spring config contains the specified bean

Parameters:
name - The bean name
Returns:
True if it does

getBeanConfig

BeanConfiguration getBeanConfig(String name)
Returns the BeanConfiguration for the specified name

Parameters:
name - The name of the bean configuration
Returns:
The BeanConfiguration

createBeanDefinition

AbstractBeanDefinition createBeanDefinition(String name)
Creates and returns the BeanDefinition that is regsitered within the given name or returns null

Parameters:
name - The name of the bean definition
Returns:
A BeanDefinition

registerPostProcessor

void registerPostProcessor(BeanFactoryPostProcessor processor)
Registers a bean factory post processor with the context

Parameters:
processor - The BeanFactoryPostProcessor instance

getBeanNames

List getBeanNames()

registerBeansWithContext

void registerBeansWithContext(GenericApplicationContext applicationContext)
Registers the beans held within this RuntimeSpringConfiguration instance with the given ApplicationContext

Parameters:
applicationContext - The ApplicationContext instance

registerBeansWithRegistry

void registerBeansWithRegistry(BeanDefinitionRegistry registry)
Registers the beans held within this RuntimeSpringConfiguration instance with the given BeanDefinitionRegistry

Parameters:
registry - The BeanDefinitionRegistry instance

registerBeansWithConfig

void registerBeansWithConfig(RuntimeSpringConfiguration targetSpringConfig)
Registers the beans held within this RuntimeSpringConfiguration instance with the given RuntimeSpringConfiguration

Parameters:
targetSpringConfig - The RuntimeSpringConfiguration instance

addAbstractBean

BeanConfiguration addAbstractBean(String name)
Adds an abstract bean definition to the bean factory and returns the BeanConfiguration object

Parameters:
name - The name of the bean
Returns:
The BeanConfiguration object

addAlias

void addAlias(String alias,
              String beanName)
Adds an alias to a given bean name

Parameters:
alias - The alias
beanName - The bean

getBeanDefinition

BeanDefinition getBeanDefinition(String beanName)
Obtains a BeanDefinition instance for the given beanName

Parameters:
beanName - The beanName
Returns:
The BeanDefinition or null if it doesn't exit

setBeanFactory

void setBeanFactory(ListableBeanFactory beanFactory)
Sets the BeanFactory implementation to use

Parameters:
beanFactory - The BeanFactory implementation


Copyright (c) 2005-2009 The Grails project