Class AbstractBeanExtender
- java.lang.Object
-
- com.hybris.cockpitng.core.util.bean.AbstractBeanExtender
-
- All Implemented Interfaces:
org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanFactoryAware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.config.BeanPostProcessor
- Direct Known Subclasses:
CollectionBeanExtender,MapBeanExtender,PropertyBeanExtender
public abstract class AbstractBeanExtender extends java.lang.Object implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.beans.factory.BeanNameAwareAbstract bean post processor that should be used to change other bean that is defined in any spring context in this bean's hierarchy (incl. parent context).
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractBeanExtender(java.lang.String extendedBeanName)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected abstract voidcheckProperty(java.lang.Object target)Method should check if value of property to be modified is proper (i.e.protected voidcheckPropertyType(java.lang.Object target, java.lang.Class<?> type)protected org.springframework.beans.factory.config.ConfigurableListableBeanFactorygetBeanFactory()protected java.lang.StringgetBeanName()java.lang.StringgetExtendedBeanName()protected java.lang.StringgetGetter()protected java.lang.StringgetInitializationExceptionMessage(java.lang.Object bean, java.lang.String propertyName)protected java.lang.StringgetMapper()protected java.lang.StringgetProperty()protected ExpressionResolverFactorygetResolverFactory()protected java.lang.StringgetSetter()voidinitialize()protected java.lang.ObjectmapProperty(java.lang.Object bean, java.lang.Object value)protected java.lang.ObjectmodifyBean(java.lang.Object bean, java.lang.String beanName)protected abstract java.lang.ObjectmodifyProperty(java.lang.Object target)Changes a provided value according to current modification bean configuration.java.lang.ObjectpostProcessAfterInitialization(java.lang.Object bean, java.lang.String beanName)java.lang.ObjectpostProcessBeforeInitialization(java.lang.Object bean, java.lang.String beanName)protected booleanqualifiesForModification(java.lang.Object bean, java.lang.String beanName)protected booleanqualifiesForModification(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory, java.lang.Object bean, java.lang.String beanName)protected java.util.Optional<?>readBeanProperty(java.lang.Object bean, java.lang.String propertyName)protected java.util.Optional<?>readBeanPropertyWithGetter(java.lang.Object bean, java.lang.String propertyName)protected java.util.Optional<?>readBeanPropertyWithReflection(java.lang.Object bean, java.lang.String propertyName)protected java.util.Optional<?>readBeanSimpleProperty(java.lang.Object bean, java.lang.String propertyName)protected java.lang.ObjectreadOriginalValue(java.lang.Object bean, java.lang.String beanName)protected java.lang.ObjectreadProperty(java.lang.Object bean, java.lang.String propertyName)protected java.lang.ObjectresolveGetter(java.lang.Object bean)protected java.lang.ObjectresolveGetter(java.lang.Object bean, java.lang.String getter)Deprecated, for removal: This API element is subject to removal in a future version.since 1905, use theresolveGetter(Object)instead.protected java.lang.ObjectresolveSetter(java.lang.Object bean, java.lang.String getter, java.lang.Object value)voidsetBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)voidsetBeanName(java.lang.String beanName)voidsetGetter(java.lang.String getter)voidsetMapper(java.lang.String mapper)voidsetProperty(java.lang.String property)voidsetResolverFactory(ExpressionResolverFactory resolverFactory)voidsetSetter(java.lang.String setter)protected booleanwriteBeanProperty(java.lang.Object bean, java.lang.String propertyName, java.lang.Object propertyValue)protected booleanwriteBeanPropertyWithReflection(java.lang.Object bean, java.lang.String propertyName, java.lang.Object propertyValue)protected booleanwriteBeanPropertyWithSetter(java.lang.Object bean, java.lang.String propertyName, java.lang.Object propertyValue)protected booleanwriteBeanSimpleProperty(java.lang.Object bean, java.lang.String propertyName, java.lang.Object propertyValue)protected java.lang.ObjectwriteNewValue(java.lang.Object bean, java.lang.String beanName, java.lang.Object value)protected voidwriteProperty(java.lang.Object bean, java.lang.String propertyName, java.lang.Object propertyValue)
-
-
-
Method Detail
-
initialize
@PostConstruct public void initialize()
-
postProcessBeforeInitialization
public java.lang.Object postProcessBeforeInitialization(java.lang.Object bean, java.lang.String beanName)- Specified by:
postProcessBeforeInitializationin interfaceorg.springframework.beans.factory.config.BeanPostProcessor
-
postProcessAfterInitialization
public java.lang.Object postProcessAfterInitialization(java.lang.Object bean, java.lang.String beanName)- Specified by:
postProcessAfterInitializationin interfaceorg.springframework.beans.factory.config.BeanPostProcessor
-
modifyBean
protected java.lang.Object modifyBean(java.lang.Object bean, java.lang.String beanName)
-
readOriginalValue
protected java.lang.Object readOriginalValue(java.lang.Object bean, java.lang.String beanName)
-
resolveGetter
@Deprecated(since="1905", forRemoval=true) protected java.lang.Object resolveGetter(java.lang.Object bean, java.lang.String getter)Deprecated, for removal: This API element is subject to removal in a future version.since 1905, use theresolveGetter(Object)instead.
-
resolveGetter
protected java.lang.Object resolveGetter(java.lang.Object bean)
-
readProperty
protected java.lang.Object readProperty(java.lang.Object bean, java.lang.String propertyName)
-
readBeanProperty
protected java.util.Optional<?> readBeanProperty(java.lang.Object bean, java.lang.String propertyName)
-
readBeanSimpleProperty
protected java.util.Optional<?> readBeanSimpleProperty(java.lang.Object bean, java.lang.String propertyName)
-
readBeanPropertyWithGetter
protected java.util.Optional<?> readBeanPropertyWithGetter(java.lang.Object bean, java.lang.String propertyName)
-
readBeanPropertyWithReflection
protected java.util.Optional<?> readBeanPropertyWithReflection(java.lang.Object bean, java.lang.String propertyName)
-
mapProperty
protected java.lang.Object mapProperty(java.lang.Object bean, java.lang.Object value)
-
writeNewValue
protected java.lang.Object writeNewValue(java.lang.Object bean, java.lang.String beanName, java.lang.Object value)
-
resolveSetter
protected java.lang.Object resolveSetter(java.lang.Object bean, java.lang.String getter, java.lang.Object value)
-
writeProperty
protected void writeProperty(java.lang.Object bean, java.lang.String propertyName, java.lang.Object propertyValue)
-
writeBeanProperty
protected boolean writeBeanProperty(java.lang.Object bean, java.lang.String propertyName, java.lang.Object propertyValue)
-
writeBeanSimpleProperty
protected boolean writeBeanSimpleProperty(java.lang.Object bean, java.lang.String propertyName, java.lang.Object propertyValue)
-
writeBeanPropertyWithSetter
protected boolean writeBeanPropertyWithSetter(java.lang.Object bean, java.lang.String propertyName, java.lang.Object propertyValue)
-
writeBeanPropertyWithReflection
protected boolean writeBeanPropertyWithReflection(java.lang.Object bean, java.lang.String propertyName, java.lang.Object propertyValue)
-
getInitializationExceptionMessage
protected java.lang.String getInitializationExceptionMessage(java.lang.Object bean, java.lang.String propertyName)
-
checkPropertyType
protected void checkPropertyType(java.lang.Object target, java.lang.Class<?> type)
-
checkProperty
protected abstract void checkProperty(java.lang.Object target)
Method should check if value of property to be modified is proper (i.e. if bean is to modify a list, then it should check if provided value is of typeList)- Parameters:
target- value that will be modified- Throws:
org.springframework.beans.factory.BeanInitializationException- when provided value is compatible with this modification bean
-
modifyProperty
protected abstract java.lang.Object modifyProperty(java.lang.Object target)
Changes a provided value according to current modification bean configuration.- Parameters:
target- value to be changed- Returns:
- new value
- Throws:
org.springframework.beans.factory.BeanInitializationException- when a value may not be changed
-
qualifiesForModification
protected boolean qualifiesForModification(java.lang.Object bean, java.lang.String beanName)
-
qualifiesForModification
protected boolean qualifiesForModification(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory, java.lang.Object bean, java.lang.String beanName)
-
setBeanFactory
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
- Specified by:
setBeanFactoryin interfaceorg.springframework.beans.factory.BeanFactoryAware
-
getBeanFactory
protected org.springframework.beans.factory.config.ConfigurableListableBeanFactory getBeanFactory()
-
setBeanName
public void setBeanName(java.lang.String beanName)
- Specified by:
setBeanNamein interfaceorg.springframework.beans.factory.BeanNameAware
-
getBeanName
protected java.lang.String getBeanName()
-
getExtendedBeanName
public java.lang.String getExtendedBeanName()
-
getProperty
protected java.lang.String getProperty()
-
setProperty
public void setProperty(java.lang.String property)
-
getResolverFactory
protected ExpressionResolverFactory getResolverFactory()
-
setResolverFactory
public void setResolverFactory(ExpressionResolverFactory resolverFactory)
-
getGetter
protected java.lang.String getGetter()
-
setGetter
public void setGetter(java.lang.String getter)
-
getMapper
protected java.lang.String getMapper()
-
setMapper
public void setMapper(java.lang.String mapper)
-
getSetter
protected java.lang.String getSetter()
-
setSetter
public void setSetter(java.lang.String setter)
-
-