
artoria.data.bean.support.SpringCglibBeanMap Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of artoria-extend Show documentation
Show all versions of artoria-extend Show documentation
Artoria is a java technology framework based on the facade pattern.
The newest version!
package artoria.data.bean.support;
import artoria.convert.ConversionService;
import artoria.data.bean.BeanMap;
import artoria.util.ObjectUtils;
import org.springframework.lang.NonNull;
import java.util.Set;
/**
* The spring cglib bean map.
* @author Kahle
*/
public class SpringCglibBeanMap extends BeanMap {
private org.springframework.cglib.beans.BeanMap beanMap;
public SpringCglibBeanMap() {
}
public SpringCglibBeanMap(Object bean) {
setBean(bean);
}
public SpringCglibBeanMap(ConversionService conversionService) {
setConversionService(conversionService);
}
public SpringCglibBeanMap(ConversionService conversionService, Object bean) {
setConversionService(conversionService);
setBean(bean);
}
@Override
public void setBean(Object bean) {
super.setBean(bean);
this.beanMap = org.springframework.cglib.beans.BeanMap.create(bean);
}
@Override
protected Object get(Object bean, Object key) {
return beanMap.get(key);
}
@Override
protected Object put(Object bean, Object key, Object value) {
if (key != null && getConversionService() != null) {
Class type = beanMap.getPropertyType((String) key);
value = getConversionService().convert(value, type);
}
return beanMap.put(key, value);
}
@NonNull
@Override
public Set
© 2015 - 2025 Weber Informatics LLC | Privacy Policy