package cn.org.rapid_framework.beanutils; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.util.Map; import org.springframework.util.ReflectionUtils; /** * apache PropertyUtils的等价类,只是将check exception改为uncheck exception * @author badqiu * */ public class PropertyUtils { private static void handleException(Exception e) { ReflectionUtils.handleReflectionException(e); } public static void clearDescriptors() { org.apache.commons.beanutils.PropertyUtils.clearDescriptors(); } public static void copyProperties(Object dest, Object orig){ try { org.apache.commons.beanutils.PropertyUtils.copyProperties(dest, orig); }catch(Exception e) { handleException(e); } } public static Map describe(Object bean) { try { return org.apache.commons.beanutils.PropertyUtils.describe(bean); }catch(Exception e) { handleException(e); return null; } } public static Object getIndexedProperty(Object bean, String name, int index){ try { return org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(bean, name, index); }catch(Exception e) { handleException(e); return null; } } public static Object getIndexedProperty(Object bean, String name) { try { return org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(bean, name); }catch(Exception e) { handleException(e); return null; } } public static Object getMappedProperty(Object bean, String name, String key) { try { return org.apache.commons.beanutils.PropertyUtils.getMappedProperty(bean, name, key); }catch(Exception e) { handleException(e); return null; } } public static Object getMappedProperty(Object bean, String name) { try { return org.apache.commons.beanutils.PropertyUtils.getMappedProperty(bean, name); }catch(Exception e) { handleException(e); return null; } } public static Object getNestedProperty(Object bean, String name) { try { return org.apache.commons.beanutils.PropertyUtils.getNestedProperty(bean, name); }catch(Exception e) { handleException(e); return null; } } public static Object getProperty(Object bean, String name) { try { return org.apache.commons.beanutils.PropertyUtils.getProperty(bean, name); }catch(Exception e) { handleException(e); return null; } } public static PropertyDescriptor getPropertyDescriptor(Object bean, String name) { try { return org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptor(bean, name); }catch(Exception e) { handleException(e); return null; } } public static PropertyDescriptor[] getPropertyDescriptors(Class beanClass) { return org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptors(beanClass); } public static PropertyDescriptor[] getPropertyDescriptors(Object bean) { return org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptors(bean); } public static Class getPropertyEditorClass(Object bean, String name) { try { return org.apache.commons.beanutils.PropertyUtils.getPropertyEditorClass(bean, name); }catch(Exception e) { handleException(e); return null; } } public static Class getPropertyType(Object bean, String name) { try { return org.apache.commons.beanutils.PropertyUtils.getPropertyType(bean, name); }catch(Exception e) { handleException(e); return null; } } public static Method getReadMethod(PropertyDescriptor descriptor) { return org.apache.commons.beanutils.PropertyUtils.getReadMethod(descriptor); } public static Object getSimpleProperty(Object bean, String name){ try { return org.apache.commons.beanutils.PropertyUtils.getSimpleProperty(bean, name); }catch(Exception e) { handleException(e); return null; } } public static Method getWriteMethod(PropertyDescriptor descriptor) { return org.apache.commons.beanutils.PropertyUtils.getWriteMethod(descriptor); } public static boolean isReadable(Object bean, String name) { return org.apache.commons.beanutils.PropertyUtils.isReadable(bean, name); } public static boolean isWriteable(Object bean, String name) { return org.apache.commons.beanutils.PropertyUtils.isWriteable(bean, name); } public static void setIndexedProperty(Object bean, String name, int index,Object value) { try { org.apache.commons.beanutils.PropertyUtils.setIndexedProperty(bean, name, index, value); }catch(Exception e) { handleException(e); } } public static void setIndexedProperty(Object bean, String name, Object value){ try { org.apache.commons.beanutils.PropertyUtils.setIndexedProperty(bean, name, value); }catch(Exception e) { handleException(e); } } public static void setMappedProperty(Object bean, String name, Object value){ try { org.apache.commons.beanutils.PropertyUtils.setMappedProperty(bean, name, value); }catch(Exception e) { handleException(e); } } public static void setMappedProperty(Object bean, String name, String key,Object value) { try{ org.apache.commons.beanutils.PropertyUtils.setMappedProperty(bean, name, key, value); }catch(Exception e) { handleException(e); } } public static void setNestedProperty(Object bean, String name, Object value){ try { org.apache.commons.beanutils.PropertyUtils.setNestedProperty(bean, name, value); }catch(Exception e) { handleException(e); } } public static void setProperty(Object bean, String name, Object value){ try { org.apache.commons.beanutils.PropertyUtils.setProperty(bean, name, value); }catch(Exception e) { handleException(e); } } public static void setSimpleProperty(Object bean, String name, Object value){ try { org.apache.commons.beanutils.PropertyUtils.setSimpleProperty(bean, name, value); }catch(Exception e) { handleException(e); } } }