org.springframework.config.java.listener
Interface ConfigurationListener

All Known Implementing Classes:
AbstractAopConfigurationListener, AspectJAdviceConfigurationListener, AutoBeanConfigurationListener, ConfigurationListenerSupport, HotSwapConfigurationListener, ScopedProxyConfigurationListener, SpringAdviceConfigurationListener, SpringAdvisorConfigurationListener

public interface ConfigurationListener

SPI interface that allows extension of a ConfigurationProcessor. ConfigurationMethodListener instances are notified about the processing of configuration classes and the processing of methods they contain. Implementations should be thread safe.

Author:
Rod Johnson

Nested Class Summary
static class ConfigurationListener.BeanDefinitionRegistration
          Class to hold BeanDefinition, name and any other information, to allow configuration listeners to customize the registration, change its name, etc.
 
Method Summary
 int beanCreationMethod(ConfigurationListener.BeanDefinitionRegistration beanDefinitionRegistration, org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory, org.springframework.beans.factory.support.DefaultListableBeanFactory childBeanFactory, java.lang.String configurerBeanName, java.lang.Class<?> configurerClass, java.lang.reflect.Method m, Bean beanAnnotation)
          React to the BeanDefinition and possibly customize it or change its name
 int configurationClass(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory, org.springframework.beans.factory.support.DefaultListableBeanFactory childBeanFactory, java.lang.String configurerBeanName, java.lang.Class<?> configurerClass)
          React to the given configuration class.
 int otherMethod(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory, org.springframework.beans.factory.support.DefaultListableBeanFactory childBeanFactory, java.lang.String configurerBeanName, java.lang.Class<?> configurerClass, java.lang.reflect.Method m)
          React to the encountering of a non bean definition method on the configurer class.
 boolean processBeanMethodReturnValue(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory, org.springframework.beans.factory.support.DefaultListableBeanFactory childBeanFactory, java.lang.Object originallyCreatedBean, java.lang.reflect.Method method, org.springframework.aop.framework.ProxyFactory pf)
          Help to process the return value of a bean definition.
 boolean understands(java.lang.Class<?> configurerClass)
          Does this configurer understand the given configuration class, which isn't a regular configuration class.
 

Method Detail

understands

boolean understands(java.lang.Class<?> configurerClass)
Does this configurer understand the given configuration class, which isn't a regular configuration class.

Parameters:
configurerClass - candidate configuration class
Returns:
whether this class is understood by this configurer

configurationClass

int configurationClass(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory,
                       org.springframework.beans.factory.support.DefaultListableBeanFactory childBeanFactory,
                       java.lang.String configurerBeanName,
                       java.lang.Class<?> configurerClass)
React to the given configuration class.

Parameters:
beanFactory -
childBeanFactory -
configurerBeanName -
configurerClass -
Returns:
number of bean definitions created

beanCreationMethod

int beanCreationMethod(ConfigurationListener.BeanDefinitionRegistration beanDefinitionRegistration,
                       org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory,
                       org.springframework.beans.factory.support.DefaultListableBeanFactory childBeanFactory,
                       java.lang.String configurerBeanName,
                       java.lang.Class<?> configurerClass,
                       java.lang.reflect.Method m,
                       Bean beanAnnotation)
React to the BeanDefinition and possibly customize it or change its name

Parameters:
beanDefinitionRegistration - bean definition registration information
beanFactory - factory owning the configuration class. This method will be called before beans are instantiated, so other objects may not be available.
childBeanFactory - child bean factory available for internal use, such as for registering infrastructural beans
configurerBeanName - bean name of the configurer class
configurerClass - configurer class
m - configuration method
beanAnnotation - bean annotation on the configuration method, which will not be null.
Returns:
number of additional bean definitions created for the existing one. The value should be different from zero if wrapping bean definitions are created besides the normal @Bean discovery process

otherMethod

int otherMethod(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory,
                org.springframework.beans.factory.support.DefaultListableBeanFactory childBeanFactory,
                java.lang.String configurerBeanName,
                java.lang.Class<?> configurerClass,
                java.lang.reflect.Method m)
React to the encountering of a non bean definition method on the configurer class. Non bean definition methods (with Bean annotations) may be significant to some configuration classes.

Parameters:
beanFactory - factory owning the configuration class. This method will be called before beans are instantiated, so other objects may not be available.
childBeanFactory - child bean factory available for internal use, such as for registering infrastructural beans
configurerBeanName - bean name of the configurer class
configurerClass - configurer class
m - method on configurer class
Returns:
number of newly bean definitions created

processBeanMethodReturnValue

boolean processBeanMethodReturnValue(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory,
                                     org.springframework.beans.factory.support.DefaultListableBeanFactory childBeanFactory,
                                     java.lang.Object originallyCreatedBean,
                                     java.lang.reflect.Method method,
                                     org.springframework.aop.framework.ProxyFactory pf)
Help to process the return value of a bean definition.

Parameters:
originallyCreatedBean -
method -
pf - simply don't modify it if necessary
Returns:
whether or not the proxy was changed. If all listeners return false, the return value may not need to be proxied.


Copyright © 2005-2007 Spring Framework. All Rights Reserved.