¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.common.util; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.io.IOUtils; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.constant.SymbolConstant; |
| | | import org.springframework.beans.BeanUtils; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.lang.reflect.Field; |
| | | import java.math.BigDecimal; |
| | | import java.math.BigInteger; |
| | | import java.net.InetAddress; |
| | | import java.net.NetworkInterface; |
| | | import java.net.SocketException; |
| | | import java.net.UnknownHostException; |
| | | import java.sql.Date; |
| | | import java.util.*; |
| | | import java.util.regex.Matcher; |
| | | import java.util.regex.Pattern; |
| | | |
| | | /** |
| | | * |
| | | * @Author å¼ ä»£æµ© |
| | | * |
| | | */ |
| | | @Slf4j |
| | | public class oConvertUtils { |
| | | public static boolean isEmpty(Object object) { |
| | | if (object == null) { |
| | | return (true); |
| | | } |
| | | if ("".equals(object)) { |
| | | return (true); |
| | | } |
| | | if (CommonConstant.STRING_NULL.equals(object)) { |
| | | return (true); |
| | | } |
| | | return (false); |
| | | } |
| | | |
| | | public static boolean isNotEmpty(Object object) { |
| | | if (object != null && !"".equals(object) && !object.equals(CommonConstant.STRING_NULL)) { |
| | | return (true); |
| | | } |
| | | return (false); |
| | | } |
| | | |
| | | public static String decode(String strIn, String sourceCode, String targetCode) { |
| | | String temp = code2code(strIn, sourceCode, targetCode); |
| | | return temp; |
| | | } |
| | | |
| | | @SuppressWarnings("AlibabaLowerCamelCaseVariableNaming") |
| | | public static String StrToUTF(String strIn, String sourceCode, String targetCode) { |
| | | strIn = ""; |
| | | try { |
| | | strIn = new String(strIn.getBytes("ISO-8859-1"), "GBK"); |
| | | } catch (UnsupportedEncodingException e) { |
| | | // TODO Auto-generated catch block |
| | | e.printStackTrace(); |
| | | } |
| | | return strIn; |
| | | |
| | | } |
| | | |
| | | private static String code2code(String strIn, String sourceCode, String targetCode) { |
| | | String strOut = null; |
| | | if (strIn == null || "".equals(strIn.trim())) { |
| | | return strIn; |
| | | } |
| | | try { |
| | | byte[] b = strIn.getBytes(sourceCode); |
| | | for (int i = 0; i < b.length; i++) { |
| | | System.out.print(b[i] + " "); |
| | | } |
| | | strOut = new String(b, targetCode); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return null; |
| | | } |
| | | return strOut; |
| | | } |
| | | |
| | | public static int getInt(String s, int defval) { |
| | | if (s == null || s == "") { |
| | | return (defval); |
| | | } |
| | | try { |
| | | return (Integer.parseInt(s)); |
| | | } catch (NumberFormatException e) { |
| | | return (defval); |
| | | } |
| | | } |
| | | |
| | | public static int getInt(String s) { |
| | | if (s == null || s == "") { |
| | | return 0; |
| | | } |
| | | try { |
| | | return (Integer.parseInt(s)); |
| | | } catch (NumberFormatException e) { |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | public static int getInt(String s, Integer df) { |
| | | if (s == null || s == "") { |
| | | return df; |
| | | } |
| | | try { |
| | | return (Integer.parseInt(s)); |
| | | } catch (NumberFormatException e) { |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | public static Integer[] getInts(String[] s) { |
| | | if (s == null) { |
| | | return null; |
| | | } |
| | | Integer[] integer = new Integer[s.length]; |
| | | for (int i = 0; i < s.length; i++) { |
| | | integer[i] = Integer.parseInt(s[i]); |
| | | } |
| | | return integer; |
| | | |
| | | } |
| | | |
| | | public static double getDouble(String s, double defval) { |
| | | if (s == null || s == "") { |
| | | return (defval); |
| | | } |
| | | try { |
| | | return (Double.parseDouble(s)); |
| | | } catch (NumberFormatException e) { |
| | | return (defval); |
| | | } |
| | | } |
| | | |
| | | public static double getDou(Double s, double defval) { |
| | | if (s == null) { |
| | | return (defval); |
| | | } |
| | | return s; |
| | | } |
| | | |
| | | /*public static Short getShort(String s) { |
| | | if (StringUtil.isNotEmpty(s)) { |
| | | return (Short.parseShort(s)); |
| | | } else { |
| | | return null; |
| | | } |
| | | }*/ |
| | | |
| | | public static int getInt(Object object, int defval) { |
| | | if (isEmpty(object)) { |
| | | return (defval); |
| | | } |
| | | try { |
| | | return (Integer.parseInt(object.toString())); |
| | | } catch (NumberFormatException e) { |
| | | return (defval); |
| | | } |
| | | } |
| | | |
| | | public static Integer getInt(Object object) { |
| | | if (isEmpty(object)) { |
| | | return null; |
| | | } |
| | | try { |
| | | return (Integer.parseInt(object.toString())); |
| | | } catch (NumberFormatException e) { |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | public static int getInt(BigDecimal s, int defval) { |
| | | if (s == null) { |
| | | return (defval); |
| | | } |
| | | return s.intValue(); |
| | | } |
| | | |
| | | public static Integer[] getIntegerArry(String[] object) { |
| | | int len = object.length; |
| | | Integer[] result = new Integer[len]; |
| | | try { |
| | | for (int i = 0; i < len; i++) { |
| | | result[i] = new Integer(object[i].trim()); |
| | | } |
| | | return result; |
| | | } catch (NumberFormatException e) { |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | public static String getString(String s) { |
| | | return (getString(s, "")); |
| | | } |
| | | |
| | | /** |
| | | * è½¬ä¹æUnicodeç¼ç |
| | | * @param s |
| | | * @return |
| | | */ |
| | | /*public static String escapeJava(Object s) { |
| | | return StringEscapeUtils.escapeJava(getString(s)); |
| | | }*/ |
| | | |
| | | public static String getString(Object object) { |
| | | if (isEmpty(object)) { |
| | | return ""; |
| | | } |
| | | return (object.toString().trim()); |
| | | } |
| | | |
| | | public static String getString(int i) { |
| | | return (String.valueOf(i)); |
| | | } |
| | | |
| | | public static String getString(float i) { |
| | | return (String.valueOf(i)); |
| | | } |
| | | |
| | | public static String getString(String s, String defval) { |
| | | if (isEmpty(s)) { |
| | | return (defval); |
| | | } |
| | | return (s.trim()); |
| | | } |
| | | |
| | | public static String getString(Object s, String defval) { |
| | | if (isEmpty(s)) { |
| | | return (defval); |
| | | } |
| | | return (s.toString().trim()); |
| | | } |
| | | |
| | | public static long stringToLong(String str) { |
| | | Long test = new Long(0); |
| | | try { |
| | | test = Long.valueOf(str); |
| | | } catch (Exception e) { |
| | | } |
| | | return test.longValue(); |
| | | } |
| | | |
| | | /** |
| | | * è·åæ¬æºIP |
| | | */ |
| | | public static String getIp() { |
| | | String ip = null; |
| | | try { |
| | | InetAddress address = InetAddress.getLocalHost(); |
| | | ip = address.getHostAddress(); |
| | | |
| | | } catch (UnknownHostException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return ip; |
| | | } |
| | | |
| | | /** |
| | | * 夿ä¸ä¸ªç±»æ¯å¦ä¸ºåºæ¬æ°æ®ç±»åã |
| | | * |
| | | * @param clazz |
| | | * è¦å¤æçç±»ã |
| | | * @return true è¡¨ç¤ºä¸ºåºæ¬æ°æ®ç±»åã |
| | | */ |
| | | private static boolean isBaseDataType(Class clazz) throws Exception { |
| | | return (clazz.equals(String.class) || clazz.equals(Integer.class) || clazz.equals(Byte.class) || clazz.equals(Long.class) || clazz.equals(Double.class) || clazz.equals(Float.class) || clazz.equals(Character.class) || clazz.equals(Short.class) || clazz.equals(BigDecimal.class) || clazz.equals(BigInteger.class) || clazz.equals(Boolean.class) || clazz.equals(Date.class) || clazz.isPrimitive()); |
| | | } |
| | | |
| | | /** |
| | | * @param request |
| | | * IP |
| | | * @return IP Address |
| | | */ |
| | | public static String getIpAddrByRequest(HttpServletRequest request) { |
| | | String ip = request.getHeader("x-forwarded-for"); |
| | | if (ip == null || ip.length() == 0 || CommonConstant.UNKNOWN.equalsIgnoreCase(ip)) { |
| | | ip = request.getHeader("Proxy-Client-IP"); |
| | | } |
| | | if (ip == null || ip.length() == 0 || CommonConstant.UNKNOWN.equalsIgnoreCase(ip)) { |
| | | ip = request.getHeader("WL-Proxy-Client-IP"); |
| | | } |
| | | if (ip == null || ip.length() == 0 || CommonConstant.UNKNOWN.equalsIgnoreCase(ip)) { |
| | | ip = request.getRemoteAddr(); |
| | | } |
| | | return ip; |
| | | } |
| | | |
| | | /** |
| | | * @return æ¬æºIP |
| | | * @throws SocketException |
| | | */ |
| | | public static String getRealIp() throws SocketException { |
| | | // æ¬å°IPï¼å¦ææ²¡æé
ç½®å¤ç½IPåè¿åå® |
| | | String localip = null; |
| | | // å¤ç½IP |
| | | String netip = null; |
| | | |
| | | Enumeration<NetworkInterface> netInterfaces = NetworkInterface.getNetworkInterfaces(); |
| | | InetAddress ip = null; |
| | | // æ¯å¦æ¾å°å¤ç½IP |
| | | boolean finded = false; |
| | | while (netInterfaces.hasMoreElements() && !finded) { |
| | | NetworkInterface ni = netInterfaces.nextElement(); |
| | | Enumeration<InetAddress> address = ni.getInetAddresses(); |
| | | while (address.hasMoreElements()) { |
| | | ip = address.nextElement(); |
| | | // å¤ç½IP |
| | | if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) { |
| | | netip = ip.getHostAddress(); |
| | | finded = true; |
| | | break; |
| | | } else if (ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) { |
| | | // å
ç½IP |
| | | localip = ip.getHostAddress(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (netip != null && !"".equals(netip)) { |
| | | return netip; |
| | | } else { |
| | | return localip; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * javaå»é¤å符串ä¸çç©ºæ ¼ãåè½¦ãæ¢è¡ç¬¦ãå¶è¡¨ç¬¦ |
| | | * |
| | | * @param str |
| | | * @return |
| | | */ |
| | | public static String replaceBlank(String str) { |
| | | String dest = ""; |
| | | if (str != null) { |
| | | String reg = "\\s*|\t|\r|\n"; |
| | | Pattern p = Pattern.compile(reg); |
| | | Matcher m = p.matcher(str); |
| | | dest = m.replaceAll(""); |
| | | } |
| | | return dest; |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 夿å
ç´ æ¯å¦å¨æ°ç»å
|
| | | * |
| | | * @param substring |
| | | * @param source |
| | | * @return |
| | | */ |
| | | public static boolean isIn(String substring, String[] source) { |
| | | if (source == null || source.length == 0) { |
| | | return false; |
| | | } |
| | | for (int i = 0; i < source.length; i++) { |
| | | String aSource = source[i]; |
| | | if (aSource.equals(substring)) { |
| | | return true; |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * è·åMap对象 |
| | | */ |
| | | public static Map<Object, Object> getHashMap() { |
| | | return new HashMap<>(5); |
| | | } |
| | | |
| | | /** |
| | | * SET转æ¢MAP |
| | | * |
| | | * @param str |
| | | * @return |
| | | */ |
| | | public static Map<Object, Object> setToMap(Set<Object> setobj) { |
| | | Map<Object, Object> map = getHashMap(); |
| | | for (Iterator iterator = setobj.iterator(); iterator.hasNext();) { |
| | | Map.Entry<Object, Object> entry = (Map.Entry<Object, Object>) iterator.next(); |
| | | map.put(entry.getKey().toString(), entry.getValue() == null ? "" : entry.getValue().toString().trim()); |
| | | } |
| | | return map; |
| | | |
| | | } |
| | | |
| | | public static boolean isInnerIp(String ipAddress) { |
| | | boolean isInnerIp = false; |
| | | long ipNum = getIpNum(ipAddress); |
| | | /** |
| | | * ç§æIPï¼Aç±» 10.0.0.0-10.255.255.255 Bç±» 172.16.0.0-172.31.255.255 Cç±» 192.168.0.0-192.168.255.255 å½ç¶ï¼è¿æ127è¿ä¸ªç½æ®µæ¯ç¯åå°å |
| | | **/ |
| | | long aBegin = getIpNum("10.0.0.0"); |
| | | long aEnd = getIpNum("10.255.255.255"); |
| | | long bBegin = getIpNum("172.16.0.0"); |
| | | long bEnd = getIpNum("172.31.255.255"); |
| | | long cBegin = getIpNum("192.168.0.0"); |
| | | long cEnd = getIpNum("192.168.255.255"); |
| | | String localIp = "127.0.0.1"; |
| | | isInnerIp = isInner(ipNum, aBegin, aEnd) || isInner(ipNum, bBegin, bEnd) || isInner(ipNum, cBegin, cEnd) || localIp.equals(ipAddress); |
| | | return isInnerIp; |
| | | } |
| | | |
| | | private static long getIpNum(String ipAddress) { |
| | | String[] ip = ipAddress.split("\\."); |
| | | long a = Integer.parseInt(ip[0]); |
| | | long b = Integer.parseInt(ip[1]); |
| | | long c = Integer.parseInt(ip[2]); |
| | | long d = Integer.parseInt(ip[3]); |
| | | |
| | | long ipNum = a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d; |
| | | return ipNum; |
| | | } |
| | | |
| | | private static boolean isInner(long userIp, long begin, long end) { |
| | | return (userIp >= begin) && (userIp <= end); |
| | | } |
| | | |
| | | /** |
| | | * å°ä¸åçº¿å¤§åæ¹å¼å½åçå符串转æ¢ä¸ºé©¼å³°å¼ã |
| | | * å¦æè½¬æ¢åçä¸åçº¿å¤§åæ¹å¼å½åçå符串为空ï¼åè¿å空å符串ã</br> |
| | | * ä¾å¦ï¼hello_world->helloWorld |
| | | * |
| | | * @param name |
| | | * 转æ¢åçä¸åçº¿å¤§åæ¹å¼å½åçå符串 |
| | | * @return 转æ¢åç驼峰å¼å½åçå符串 |
| | | */ |
| | | public static String camelName(String name) { |
| | | StringBuilder result = new StringBuilder(); |
| | | // å¿«éæ£æ¥ |
| | | if (name == null || name.isEmpty()) { |
| | | // 没å¿
è¦è½¬æ¢ |
| | | return ""; |
| | | } else if (!name.contains(SymbolConstant.UNDERLINE)) { |
| | | // ä¸å«ä¸å线ï¼ä»
å°é¦åæ¯å°å |
| | | //update-begin--Author:zhoujf Date:20180503 forï¼TASK #2500 ã代ç çæå¨ã代ç çæå¨å¼åä¸éç¨æ¨¡æ¿çæåè½ |
| | | //update-begin--Author:zhoujf Date:20180503 forï¼TASK #2500 ã代ç çæå¨ã代ç çæå¨å¼åä¸éç¨æ¨¡æ¿çæåè½ |
| | | return name.substring(0, 1).toLowerCase() + name.substring(1).toLowerCase(); |
| | | //update-end--Author:zhoujf Date:20180503 forï¼TASK #2500 ã代ç çæå¨ã代ç çæå¨å¼åä¸éç¨æ¨¡æ¿çæåè½ |
| | | } |
| | | // ç¨ä¸å线å°åå§å符串åå² |
| | | String[] camels = name.split("_"); |
| | | for (String camel : camels) { |
| | | // è·³è¿åå§å符串ä¸å¼å¤´ãç»å°¾ç䏿¢çº¿æåéä¸å线 |
| | | if (camel.isEmpty()) { |
| | | continue; |
| | | } |
| | | // å¤ççæ£çé©¼å³°çæ®µ |
| | | if (result.length() == 0) { |
| | | // 第ä¸ä¸ªé©¼å³°ç段ï¼å
¨é¨åæ¯é½å°å |
| | | result.append(camel.toLowerCase()); |
| | | } else { |
| | | // å
¶ä»çé©¼å³°çæ®µï¼é¦åæ¯å¤§å |
| | | result.append(camel.substring(0, 1).toUpperCase()); |
| | | result.append(camel.substring(1).toLowerCase()); |
| | | } |
| | | } |
| | | return result.toString(); |
| | | } |
| | | |
| | | /** |
| | | * å°ä¸åçº¿å¤§åæ¹å¼å½åçå符串转æ¢ä¸ºé©¼å³°å¼ã |
| | | * å¦æè½¬æ¢åçä¸åçº¿å¤§åæ¹å¼å½åçå符串为空ï¼åè¿å空å符串ã</br> |
| | | * ä¾å¦ï¼hello_world,test_id->helloWorld,testId |
| | | * |
| | | * @param name |
| | | * 转æ¢åçä¸åçº¿å¤§åæ¹å¼å½åçå符串 |
| | | * @return 转æ¢åç驼峰å¼å½åçå符串 |
| | | */ |
| | | public static String camelNames(String names) { |
| | | if(names==null||"".equals(names)){ |
| | | return null; |
| | | } |
| | | StringBuffer sf = new StringBuffer(); |
| | | String[] fs = names.split(","); |
| | | for (String field : fs) { |
| | | field = camelName(field); |
| | | sf.append(field + ","); |
| | | } |
| | | String result = sf.toString(); |
| | | return result.substring(0, result.length() - 1); |
| | | } |
| | | |
| | | //update-begin--Author:zhoujf Date:20180503 forï¼TASK #2500 ã代ç çæå¨ã代ç çæå¨å¼åä¸éç¨æ¨¡æ¿çæåè½ |
| | | /** |
| | | * å°ä¸åçº¿å¤§åæ¹å¼å½åçå符串转æ¢ä¸ºé©¼å³°å¼ã(é¦åæ¯å) |
| | | * å¦æè½¬æ¢åçä¸åçº¿å¤§åæ¹å¼å½åçå符串为空ï¼åè¿å空å符串ã</br> |
| | | * ä¾å¦ï¼hello_world->HelloWorld |
| | | * |
| | | * @param name |
| | | * 转æ¢åçä¸åçº¿å¤§åæ¹å¼å½åçå符串 |
| | | * @return 转æ¢åç驼峰å¼å½åçå符串 |
| | | */ |
| | | public static String camelNameCapFirst(String name) { |
| | | StringBuilder result = new StringBuilder(); |
| | | // å¿«éæ£æ¥ |
| | | if (name == null || name.isEmpty()) { |
| | | // 没å¿
è¦è½¬æ¢ |
| | | return ""; |
| | | } else if (!name.contains(SymbolConstant.UNDERLINE)) { |
| | | // ä¸å«ä¸å线ï¼ä»
å°é¦åæ¯å°å |
| | | return name.substring(0, 1).toUpperCase() + name.substring(1).toLowerCase(); |
| | | } |
| | | // ç¨ä¸å线å°åå§å符串åå² |
| | | String[] camels = name.split("_"); |
| | | for (String camel : camels) { |
| | | // è·³è¿åå§å符串ä¸å¼å¤´ãç»å°¾ç䏿¢çº¿æåéä¸å线 |
| | | if (camel.isEmpty()) { |
| | | continue; |
| | | } |
| | | // å
¶ä»çé©¼å³°çæ®µï¼é¦åæ¯å¤§å |
| | | result.append(camel.substring(0, 1).toUpperCase()); |
| | | result.append(camel.substring(1).toLowerCase()); |
| | | } |
| | | return result.toString(); |
| | | } |
| | | //update-end--Author:zhoujf Date:20180503 forï¼TASK #2500 ã代ç çæå¨ã代ç çæå¨å¼åä¸éç¨æ¨¡æ¿çæåè½ |
| | | |
| | | /** |
| | | * å°é©¼å³°å½å转åæä¸å线 |
| | | * @param para |
| | | * @return |
| | | */ |
| | | public static String camelToUnderline(String para){ |
| | | int length = 3; |
| | | if(para.length()<length){ |
| | | return para.toLowerCase(); |
| | | } |
| | | StringBuilder sb=new StringBuilder(para); |
| | | //å®ä½ |
| | | int temp=0; |
| | | //ä»ç¬¬ä¸ä¸ªå符å¼å§ é¿å
å½åä¸è§è |
| | | for(int i=2;i<para.length();i++){ |
| | | if(Character.isUpperCase(para.charAt(i))){ |
| | | sb.insert(i+temp, "_"); |
| | | temp+=1; |
| | | } |
| | | } |
| | | return sb.toString().toLowerCase(); |
| | | } |
| | | |
| | | /** |
| | | * éæºæ° |
| | | * @param place å®ä¹éæºæ°ç使° |
| | | */ |
| | | public static String randomGen(int place) { |
| | | String base = "qwertyuioplkjhgfdsazxcvbnmQAZWSXEDCRFVTGBYHNUJMIKLOP0123456789"; |
| | | StringBuffer sb = new StringBuffer(); |
| | | Random rd = new Random(); |
| | | for(int i=0;i<place;i++) { |
| | | sb.append(base.charAt(rd.nextInt(base.length()))); |
| | | } |
| | | return sb.toString(); |
| | | } |
| | | |
| | | /** |
| | | * è·åç±»çææå±æ§ï¼å
æ¬ç¶ç±» |
| | | * |
| | | * @param object |
| | | * @return |
| | | */ |
| | | public static Field[] getAllFields(Object object) { |
| | | Class<?> clazz = object.getClass(); |
| | | List<Field> fieldList = new ArrayList<>(); |
| | | while (clazz != null) { |
| | | fieldList.addAll(new ArrayList<>(Arrays.asList(clazz.getDeclaredFields()))); |
| | | clazz = clazz.getSuperclass(); |
| | | } |
| | | Field[] fields = new Field[fieldList.size()]; |
| | | fieldList.toArray(fields); |
| | | return fields; |
| | | } |
| | | |
| | | /** |
| | | * å°mapçkeyå
¨é¨è½¬æå°å |
| | | * @param list |
| | | * @return |
| | | */ |
| | | public static List<Map<String, Object>> toLowerCasePageList(List<Map<String, Object>> list){ |
| | | List<Map<String, Object>> select = new ArrayList<>(); |
| | | for (Map<String, Object> row : list) { |
| | | Map<String, Object> resultMap = new HashMap<>(5); |
| | | Set<String> keySet = row.keySet(); |
| | | for (String key : keySet) { |
| | | String newKey = key.toLowerCase(); |
| | | resultMap.put(newKey, row.get(key)); |
| | | } |
| | | select.add(resultMap); |
| | | } |
| | | return select; |
| | | } |
| | | |
| | | /** |
| | | * å°entityListè½¬æ¢æmodelList |
| | | * @param fromList |
| | | * @param tClass |
| | | * @param <F> |
| | | * @param <T> |
| | | * @return |
| | | */ |
| | | public static<F,T> List<T> entityListToModelList(List<F> fromList, Class<T> tClass){ |
| | | if(fromList == null || fromList.isEmpty()){ |
| | | return null; |
| | | } |
| | | List<T> tList = new ArrayList<>(); |
| | | for(F f : fromList){ |
| | | T t = entityToModel(f, tClass); |
| | | tList.add(t); |
| | | } |
| | | return tList; |
| | | } |
| | | |
| | | public static<F,T> T entityToModel(F entity, Class<T> modelClass) { |
| | | log.debug("entityToModel : Entity屿§çå¼èµå¼å°Model"); |
| | | Object model = null; |
| | | if (entity == null || modelClass ==null) { |
| | | return null; |
| | | } |
| | | |
| | | try { |
| | | model = modelClass.newInstance(); |
| | | } catch (InstantiationException e) { |
| | | log.error("entityToModel : å®ä¾åå¼å¸¸", e); |
| | | } catch (IllegalAccessException e) { |
| | | log.error("entityToModel : å®å
¨æéå¼å¸¸", e); |
| | | } |
| | | BeanUtils.copyProperties(entity, model); |
| | | return (T)model; |
| | | } |
| | | |
| | | /** |
| | | * 夿 list æ¯å¦ä¸ºç©º |
| | | * |
| | | * @param list |
| | | * @return true or false |
| | | * list == null : true |
| | | * list.size() == 0 : true |
| | | */ |
| | | public static boolean listIsEmpty(Collection list) { |
| | | return (list == null || list.size() == 0); |
| | | } |
| | | |
| | | /** |
| | | * 夿 list æ¯å¦ä¸ä¸ºç©º |
| | | * |
| | | * @param list |
| | | * @return true or false |
| | | * list == null : false |
| | | * list.size() == 0 : false |
| | | */ |
| | | public static boolean listIsNotEmpty(Collection list) { |
| | | return !listIsEmpty(list); |
| | | } |
| | | |
| | | /** |
| | | * 读åéæææ¬å
容 |
| | | * @param url |
| | | * @return |
| | | */ |
| | | public static String readStatic(String url) { |
| | | String json = ""; |
| | | try { |
| | | //æ¢ä¸ªåæ³ï¼è§£å³springboot读åjarå
䏿件çé®é¢ |
| | | InputStream stream = oConvertUtils.class.getClassLoader().getResourceAsStream(url.replace("classpath:", "")); |
| | | json = IOUtils.toString(stream,"UTF-8"); |
| | | } catch (IOException e) { |
| | | log.error(e.getMessage(),e); |
| | | } |
| | | return json; |
| | | } |
| | | |
| | | public static <T> List<T> castList(Object obj, Class<T> clazz) |
| | | { |
| | | List<T> result = new ArrayList<T>(); |
| | | if(obj instanceof List<?>) |
| | | { |
| | | for (Object o : (List<?>) obj) |
| | | { |
| | | result.add(clazz.cast(o)); |
| | | } |
| | | return result; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |