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 | } |