
org.sklsft.commons.mapper.beans.MappableBeanFactory Maven / Gradle / Ivy
package org.sklsft.commons.mapper.beans;
import java.beans.IntrospectionException;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
public class MappableBeanFactory {
public static MappableBean getMappableBean(Class beanClass) {
MappableBean bean = new MappableBean();
bean.beanClass = beanClass;
bean.accessibleFields = getAccessibleFields(beanClass);
return bean;
}
private static Map getAccessibleFields(Class> beanClass) {
Map result = new HashMap();
Field[] fields = beanClass.getDeclaredFields();
for (Field field:fields) {
try {
PropertyDescriptor propertyDescriptor = new PropertyDescriptor(field.getName(), beanClass);
if (propertyDescriptor.getReadMethod() != null && propertyDescriptor.getWriteMethod() != null) {
result.put(field.getName(),new AccessibleField(field, propertyDescriptor.getReadMethod(), propertyDescriptor.getWriteMethod()));
}
} catch (IntrospectionException e) {
//Nothing to do
}
}
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy