欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

beanUtils,实体bean工具类,beanutilsbean,package com.

来源: javaer 分享于  点击 49398 次 点评:112

beanUtils,实体bean工具类,beanutilsbean,package com.


package com.fsti.template.excel.util;import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Method;import java.util.HashMap;import java.util.Map;import com.fsti.template.util.DateFormat;import com.fsti.template.util.DateUtils;public class BeanUtils {    public static Map<String, Object> backupProp(Object bean){        Map<String, Object> result = new HashMap<String, Object>();        try{            BeanInfo beanInfo = Introspector.getBeanInfo(bean.getClass());            PropertyDescriptor[] descriptors = beanInfo.getPropertyDescriptors();            for(PropertyDescriptor des: descriptors){                String fieldName = des.getName();                Method getter = des.getReadMethod();                Object fieldValue = getter.invoke(bean, new Object[]{});                if(!fieldName.equalsIgnoreCase("class")){                    result.put(fieldName, fieldValue);                }            }        }catch(Exception e){            e.printStackTrace();        }        return result;    }    public static void restoreProp(Object bean, Map<String, Object> propMap){        try {            BeanInfo beanInfo = Introspector.getBeanInfo(bean.getClass());            PropertyDescriptor[] descriptors = beanInfo.getPropertyDescriptors();            for(PropertyDescriptor des: descriptors){                String fieldName = des.getName();                Class<?> type = des.getPropertyType();                if(propMap.containsKey(fieldName)){                    Method setter = des.getWriteMethod();                    String fieldValue = (String)propMap.get(fieldName);                    javaSet(type, setter, bean, fieldValue);                }            }        } catch (Exception e) {            e.printStackTrace();        }    }    public static void clear(Map<String, Object> propMap) {        if(propMap != null)             propMap.clear();    }    private static void javaSet(Class<?> type,Method setter,Object bean,String fieldValue) throws Exception {         Object value = null;         if ("java.util.Date".equals(type.getName())) {            if(fieldValue != null)                value = DateUtils.parse(fieldValue, DateFormat.YYYY_MM_DD_HH_MM_SS);         }else if ("java.lang.Double".equals(type.getName())) {             if(fieldValue != null)                 value = Double.valueOf(fieldValue);             else                 value = Double.valueOf("0");         } else if ("java.lang.Integer".equals(type.getName())) {            if(fieldValue != null) {                if(fieldValue.lastIndexOf(".") > 0)                    value = Integer.valueOf(fieldValue.substring(0, fieldValue.lastIndexOf(".")));                else                    value = Integer.valueOf(fieldValue);            }else                value = Integer.valueOf("0");         } else if ("java.lang.Long".equals(type.getName())) {            if(fieldValue != null){                if(fieldValue.lastIndexOf(".") > 0)                    value = Long.valueOf(fieldValue.substring(0, fieldValue.lastIndexOf(".")));                else                    value = Long.valueOf(fieldValue);            }else                value = Long.valueOf("0");         } else if("java.lang.String".equals(type.getName())){             value = fieldValue;         } else if("int".equals(type.getName())) {             if(fieldValue != null) {                if(fieldValue.lastIndexOf(".") > 0)                    value = Integer.valueOf(fieldValue.substring(0, fieldValue.lastIndexOf("."))).intValue();                else                    value = Integer.valueOf(fieldValue).intValue();             }else                value = Integer.valueOf("0").intValue();         } else if("long".equals(type.getName())) {             if(fieldValue != null) {                if(fieldValue.lastIndexOf(".") > 0)                    value = Long.valueOf(fieldValue.substring(0, fieldValue.lastIndexOf("."))).longValue();                else                    value = Long.valueOf(fieldValue).longValue();             }else                value = Long.valueOf("0").longValue();         } else if("double".equals(type.getName())) {             if(fieldValue != null)                 value = Double.valueOf(fieldValue).doubleValue();             else                 value = Double.valueOf("0").doubleValue();         }         setter.invoke(bean, new Object[]{value});    }}//该片段来自于http://byrx.net
相关栏目:

用户点评