|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter
public abstract class InstantiationAwareBeanPostProcessorAdapter
Adapter implementing all methods on SmartInstantiationAwareBeanPostProcessor
as no-ops, which will not change normal processing of each bean instantiated
by the container. Subclasses may override merely those methods that they are
actually interested in.
Constructor Summary | |
---|---|
InstantiationAwareBeanPostProcessorAdapter()
|
Method Summary | |
---|---|
Object |
postProcessAfterInitialization(Object bean,
String beanName)
Apply this BeanPostProcessor to the given new bean instance after any bean initialization callbacks (like InitializingBean's afterPropertiesSet
or a custom init-method). |
boolean |
postProcessAfterInstantiation(Object bean,
String beanName)
Perform operations after the bean has been instantiated, via a constructor or factory method, but before Spring property population (from explicit properties or autowiring) occurs. |
Object |
postProcessBeforeInitialization(Object bean,
String beanName)
Apply this BeanPostProcessor to the given new bean instance before any bean initialization callbacks (like InitializingBean's afterPropertiesSet
or a custom init-method). |
Object |
postProcessBeforeInstantiation(Class beanClass,
String beanName)
Apply this BeanPostProcessor before the target bean gets instantiated. |
PropertyValues |
postProcessPropertyValues(PropertyValues pvs,
PropertyDescriptor[] pds,
Object bean,
String beanName)
Post-process the given property values before the factory applies them to the given bean. |
Class |
predictBeanType(Class beanClass,
String beanName)
Predict the type of the bean to be eventually returned from this processor's InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation(java.lang.Class, java.lang.String) callback. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public InstantiationAwareBeanPostProcessorAdapter()
Method Detail |
---|
public Class predictBeanType(Class beanClass, String beanName)
SmartInstantiationAwareBeanPostProcessor
InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation(java.lang.Class, java.lang.String)
callback.
predictBeanType
in interface SmartInstantiationAwareBeanPostProcessor
beanClass
- the raw class of the beanbeanName
- the name of the bean
null
if not predictablepublic Object postProcessBeforeInstantiation(Class beanClass, String beanName) throws BeansException
InstantiationAwareBeanPostProcessor
If a non-null object is returned by this method, the bean creation process
will be short-circuited. The only further processing applied is the
BeanPostProcessor.postProcessAfterInitialization(java.lang.Object, java.lang.String)
callback from the configured
BeanPostProcessors
.
This callback will only be applied to bean definitions with a bean class. In particular, it will not be applied to beans with a "factory-method".
Post-processors may implement the extended
SmartInstantiationAwareBeanPostProcessor
interface in order
to predict the type of the bean object that they are going to return here.
postProcessBeforeInstantiation
in interface InstantiationAwareBeanPostProcessor
beanClass
- the class of the bean to be instantiatedbeanName
- the name of the bean
null
to proceed with default instantiation
BeansException
- in case of errorsAbstractBeanDefinition.hasBeanClass()
,
AbstractBeanDefinition.getFactoryMethodName()
public boolean postProcessAfterInstantiation(Object bean, String beanName) throws BeansException
InstantiationAwareBeanPostProcessor
postProcessAfterInstantiation
in interface InstantiationAwareBeanPostProcessor
bean
- the bean instance created, but whose properties have not yet been setbeanName
- the name of the bean
true
if properties should be set on the bean; false
if property population should be skipped. Normal implementations should return true
.
Returning false
will also prevent any subsequent InstantiationAwareBeanPostProcessor
instances being invoked on this bean instance.
BeansException
- in case of errorspublic PropertyValues postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeansException
InstantiationAwareBeanPostProcessor
Also allows for replacing the property values to apply, typically through creating a new MutablePropertyValues instance based on the original PropertyValues, adding or removing specific values.
postProcessPropertyValues
in interface InstantiationAwareBeanPostProcessor
pvs
- the property values that the factory is about to apply (never null
)pds
- the relevant property descriptors for the target bean (with ignored
dependency types - which the factory handles specifically - already filtered out)bean
- the bean instance created, but whose properties have not yet been setbeanName
- the name of the bean
null
to skip property population
BeansException
- in case of errorsMutablePropertyValues
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException
BeanPostProcessor
afterPropertiesSet
or a custom init-method). The bean will already be populated with property values.
The returned bean instance may be a wrapper around the original.
postProcessBeforeInitialization
in interface BeanPostProcessor
bean
- the new bean instancebeanName
- the name of the bean
BeansException
- in case of errorsInitializingBean.afterPropertiesSet()
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException
BeanPostProcessor
afterPropertiesSet
or a custom init-method). The bean will already be populated with property values.
The returned bean instance may be a wrapper around the original.
In case of a FactoryBean, this callback will be invoked for both the FactoryBean
instance and the objects created by the FactoryBean (as of Spring 2.0). The
post-processor can decide whether to apply to either the FactoryBean or created
objects or both through corresponding bean instanceof FactoryBean
checks.
This callback will also be invoked after a short-circuiting triggered by a
InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation(java.lang.Class, java.lang.String)
method,
in contrast to all other BeanPostProcessor callbacks.
postProcessAfterInitialization
in interface BeanPostProcessor
bean
- the new bean instancebeanName
- the name of the bean
BeansException
- in case of errorsInitializingBean.afterPropertiesSet()
,
FactoryBean
|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |