📄 utilmisc.java
字号:
/* * $Id: UtilMisc.java 7320 2006-04-18 04:50:41Z jonesde $ * * Copyright (c) 2001-2005 The Open For Business Project - www.ofbiz.org * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. */package org.ofbiz.base.util;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import java.util.Locale;import java.util.Map;import java.util.TreeMap;import javolution.util.FastList;import javolution.util.FastMap;import org.ofbiz.base.util.collections.MapComparator;/** * UtilMisc - Misc Utility Functions * * @author <a href="mailto:jonesde@ofbiz.org">David E. Jones</a> * @author <a href="mailto:jaz@ofbiz.org">Andy Zeneski</a> * @version $Rev: 7320 $ * @since 2.0 */public class UtilMisc { public static final String module = UtilMisc.class.getName(); /** * Get an iterator from a collection, returning null if collection is null * @param col The collection to be turned in to an iterator * @return The resulting Iterator */ public static Iterator toIterator(Collection col) { if (col == null) return null; else return col.iterator(); } /** * Create a map from passed nameX, valueX parameters * @return The resulting Map */ public static Map toMap(String name1, Object value1) { return new UtilMisc.SimpleMap(name1, value1); /* Map fields = FastMap.newInstance(); fields.put(name1, value1); return fields;*/ } /** * Create a map from passed nameX, valueX parameters * @return The resulting Map */ public static Map toMap(String name1, Object value1, String name2, Object value2) { return new UtilMisc.SimpleMap(name1, value1, name2, value2); /* Map fields = FastMap.newInstance(); fields.put(name1, value1); fields.put(name2, value2); return fields;*/ } /** * Create a map from passed nameX, valueX parameters * @return The resulting Map */ public static Map toMap(String name1, Object value1, String name2, Object value2, String name3, Object value3) { return new UtilMisc.SimpleMap(name1, value1, name2, value2, name3, value3); /* Map fields = FastMap.newInstance(); fields.put(name1, value1); fields.put(name2, value2); fields.put(name3, value3); return fields;*/ } /** * Create a map from passed nameX, valueX parameters * @return The resulting Map */ public static Map toMap(String name1, Object value1, String name2, Object value2, String name3, Object value3, String name4, Object value4) { return new UtilMisc.SimpleMap(name1, value1, name2, value2, name3, value3, name4, value4); /* Map fields = FastMap.newInstance(); fields.put(name1, value1); fields.put(name2, value2); fields.put(name3, value3); fields.put(name4, value4); return fields;*/ } /** * Create a map from passed nameX, valueX parameters * @return The resulting Map */ public static Map toMap(String name1, Object value1, String name2, Object value2, String name3, Object value3, String name4, Object value4, String name5, Object value5) { Map fields = FastMap.newInstance(); fields.put(name1, value1); fields.put(name2, value2); fields.put(name3, value3); fields.put(name4, value4); fields.put(name5, value5); return fields; } /** * Create a map from passed nameX, valueX parameters * @return The resulting Map */ public static Map toMap(String name1, Object value1, String name2, Object value2, String name3, Object value3, String name4, Object value4, String name5, Object value5, String name6, Object value6) { Map fields = FastMap.newInstance(); fields.put(name1, value1); fields.put(name2, value2); fields.put(name3, value3); fields.put(name4, value4); fields.put(name5, value5); fields.put(name6, value6); return fields; } /** * Create a map from passed nameX, valueX parameters * @return The resulting Map */ public static Map toMap(Object[] data) { if (data == null) { return null; } if (data.length % 2 == 1) { throw new IllegalArgumentException("You must pass an even sized array to the toMap method"); } Map map = FastMap.newInstance(); for (int i = 0; i < data.length; ) { map.put(data[i++], data[i++]); } return map; } public static String printMap(Map theMap) { StringBuffer theBuf = new StringBuffer(); Iterator entryIter = theMap.entrySet().iterator(); while (entryIter.hasNext()) { Map.Entry entry = (Map.Entry) entryIter.next(); theBuf.append(entry.getKey()); theBuf.append(" --> "); theBuf.append(entry.getValue()); theBuf.append("\n"); } return theBuf.toString(); } /** * Sort a List of Maps by specified consistent keys. * @param listOfMaps List of Map objects to sort. * @param sortKeys List of Map keys to sort by. * @return a new List of sorted Maps. */ public static List sortMaps(List listOfMaps, List sortKeys) { if (listOfMaps == null || sortKeys == null) return null; List toSort = FastList.newInstance(); toSort.addAll(listOfMaps); try { MapComparator mc = new MapComparator(sortKeys); Collections.sort(toSort, mc); } catch (Exception e) { Debug.logError(e, "Problems sorting list of maps; returning null.", module); return null; } return toSort; } public static Object removeFirst(List lst) { return lst.remove(0); } /** * Create a list from passed objX parameters * @return The resulting List */ public static List toList(Object obj1) { List list = new ArrayList(1); list.add(obj1); return list; } /** * Create a list from passed objX parameters * @return The resulting List */ public static List toList(Object obj1, Object obj2) { List list = new ArrayList(2); list.add(obj1); list.add(obj2); return list; } /** * Create a list from passed objX parameters * @return The resulting List */ public static List toList(Object obj1, Object obj2, Object obj3) { List list = new ArrayList(3); list.add(obj1); list.add(obj2); list.add(obj3); return list; } /** * Create a list from passed objX parameters * @return The resulting List */ public static List toList(Object obj1, Object obj2, Object obj3, Object obj4) { List list = new ArrayList(4); list.add(obj1); list.add(obj2); list.add(obj3); list.add(obj4); return list; } /** * Create a list from passed objX parameters * @return The resulting List */ public static List toList(Object obj1, Object obj2, Object obj3, Object obj4, Object obj5) { List list = new ArrayList(5); list.add(obj1); list.add(obj2); list.add(obj3); list.add(obj4); list.add(obj5); return list; } /** * Create a list from passed objX parameters * @return The resulting List */ public static List toList(Object obj1, Object obj2, Object obj3, Object obj4, Object obj5, Object obj6) { List list = new ArrayList(6); list.add(obj1); list.add(obj2); list.add(obj3); list.add(obj4); list.add(obj5); list.add(obj6); return list; } public static List toList(Collection collection) { if (collection == null) return null; if (collection instanceof List) { return (List) collection; } else { return new ArrayList(collection); } } public static List toListArray(Object[] data) { if (data == null) { return null; } List list = new ArrayList(data.length); for (int i = 0; i < data.length; i++) { list.add(data[i]); } return list; } public static long toLong(Object value) { if (value != null) { if (value instanceof Long) { return ((Long) value).longValue(); } else if (value instanceof String) { return Long.parseLong((String) value); } } return 0; } /** * Returns a double from value, where value could either be a Double or a String * @param value * @return */ public static double toDouble(Object value) { if (value != null) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -