/** * Դ�������ƣ�ExtensibleModelUtil.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.biz.core * ����˵����$desc * ����ĵ��� * ���ߣ�sundl */ package com.hundsun.ares.studio.core.model.extendable; import org.apache.commons.lang.BooleanUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; import com.hundsun.ares.studio.core.model.Constants; import com.hundsun.ares.studio.core.model.ExtensibleModel; import com.hundsun.ares.studio.core.model.UserExtensibleProperty; /** * @author sundl * */ public class ExtensibleModelUtil { public static Object convert(Object value, Class<?> toClassType) { if (value == null) { if (String.class.isAssignableFrom(toClassType)) { return StringUtils.EMPTY; } else if (Boolean.class.isAssignableFrom(toClassType)) { return Boolean.FALSE; } else if (Integer.class.isAssignableFrom(toClassType)) { return 0; } } else { if (String.class.isAssignableFrom(toClassType)) { return value.toString(); } else if (Boolean.class.isAssignableFrom(toClassType) || toClassType.getName().equals("boolean")) { return BooleanUtils.toBoolean(value.toString()); } else if (Integer.class.isAssignableFrom(toClassType)) { return NumberUtils.toInt(value.toString()); } } return value; } /** * ��ȡ�û���չ���� * @param model * @param key * @return */ public static String getUserExtendedProperty(ExtensibleModel model, String key) { UserExtensibleProperty userProperty = (UserExtensibleProperty) model.getData2().get(Constants.USER_DATA2_KEY); if (userProperty != null) return userProperty.getMap().get(key); return null; } public static void setUserExtendedProperty(ExtensibleModel model, String key, String value) { UserExtensibleProperty userProperty = (UserExtensibleProperty) model.getData2().get(Constants.USER_DATA2_KEY); if (userProperty != null) userProperty.getMap().put(key, value); } }