Statistics
| Branch: | Tag: | Revision:

root / src / gr / grnet / pithos / web / client / Helpers.java @ e6e9f6e6

History | View | Annotate | Download (1.7 kB)

1 cc0120ab Christos KK Loverdos
package gr.grnet.pithos.web.client;
2 cc0120ab Christos KK Loverdos
3 cc0120ab Christos KK Loverdos
import com.google.gwt.json.client.JSONArray;
4 cc0120ab Christos KK Loverdos
import com.google.gwt.json.client.JSONString;
5 cc0120ab Christos KK Loverdos
6 cc0120ab Christos KK Loverdos
import java.util.ArrayList;
7 cc0120ab Christos KK Loverdos
import java.util.Collections;
8 cc0120ab Christos KK Loverdos
import java.util.HashMap;
9 cc0120ab Christos KK Loverdos
import java.util.List;
10 cc0120ab Christos KK Loverdos
11 cc0120ab Christos KK Loverdos
/**
12 cc0120ab Christos KK Loverdos
 * Helper methods.
13 cc0120ab Christos KK Loverdos
 */
14 cc0120ab Christos KK Loverdos
public final class Helpers {
15 cc0120ab Christos KK Loverdos
    private Helpers() {}
16 cc0120ab Christos KK Loverdos
17 cc0120ab Christos KK Loverdos
    public static boolean isEmptySafe(CharSequence s) {
18 cc0120ab Christos KK Loverdos
        return s == null || s.length() == 0;
19 cc0120ab Christos KK Loverdos
    }
20 cc0120ab Christos KK Loverdos
21 cc0120ab Christos KK Loverdos
    public static <K, V> HashMap<K, V> copyHashMap(HashMap<K, V> map) {
22 cc0120ab Christos KK Loverdos
        assert map != null;
23 cc0120ab Christos KK Loverdos
        return new HashMap<K, V>(map);
24 cc0120ab Christos KK Loverdos
    }
25 cc0120ab Christos KK Loverdos
26 cc0120ab Christos KK Loverdos
    public static <T> List<T> safeList(List<T> list) {
27 cc0120ab Christos KK Loverdos
        if(list == null) {
28 cc0120ab Christos KK Loverdos
            return new ArrayList<T>();
29 cc0120ab Christos KK Loverdos
        }
30 cc0120ab Christos KK Loverdos
        return list;
31 cc0120ab Christos KK Loverdos
    }
32 cc0120ab Christos KK Loverdos
33 cc0120ab Christos KK Loverdos
    public static <T> List<T> toList(T ...items) {
34 cc0120ab Christos KK Loverdos
        final List<T> list = new ArrayList<T>();
35 cc0120ab Christos KK Loverdos
        Collections.addAll(list, items);
36 cc0120ab Christos KK Loverdos
        return list;
37 cc0120ab Christos KK Loverdos
    }
38 cc0120ab Christos KK Loverdos
39 cc0120ab Christos KK Loverdos
    public static JSONArray listToJSONArray(List<String> list) {
40 cc0120ab Christos KK Loverdos
        final JSONArray jsonArray = new JSONArray();
41 cc0120ab Christos KK Loverdos
        if(list == null) {
42 cc0120ab Christos KK Loverdos
            return jsonArray;
43 cc0120ab Christos KK Loverdos
        }
44 cc0120ab Christos KK Loverdos
45 cc0120ab Christos KK Loverdos
        for(int i = 0; i < list.size(); i++) {
46 cc0120ab Christos KK Loverdos
            final JSONString jsonString = new JSONString(list.get(i));
47 cc0120ab Christos KK Loverdos
            jsonArray.set(i, jsonString);
48 cc0120ab Christos KK Loverdos
        }
49 cc0120ab Christos KK Loverdos
50 cc0120ab Christos KK Loverdos
        return jsonArray;
51 cc0120ab Christos KK Loverdos
    }
52 cc0120ab Christos KK Loverdos
53 cc0120ab Christos KK Loverdos
    public static String stripTrailing(String s, String trailing) {
54 cc0120ab Christos KK Loverdos
        while(s.endsWith(trailing)) {
55 cc0120ab Christos KK Loverdos
            s = s.substring(0, s.length() - trailing.length());
56 cc0120ab Christos KK Loverdos
        }
57 cc0120ab Christos KK Loverdos
        return s;
58 cc0120ab Christos KK Loverdos
    }
59 cc0120ab Christos KK Loverdos
60 cc0120ab Christos KK Loverdos
    public static String upToIncludingLastPart(String s, String part) {
61 cc0120ab Christos KK Loverdos
        int index = s.lastIndexOf(part);
62 cc0120ab Christos KK Loverdos
        if(index == -1) {
63 cc0120ab Christos KK Loverdos
            return s;
64 cc0120ab Christos KK Loverdos
        }
65 cc0120ab Christos KK Loverdos
        return s.substring(0, index + part.length());
66 cc0120ab Christos KK Loverdos
    }
67 cc0120ab Christos KK Loverdos
}