/
Strings.java
75 lines (62 loc) · 2.15 KB
/
Strings.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package org.testng.util;
import org.testng.collections.Maps;
import java.util.Map;
public final class Strings {
private Strings() {
// Utility class. Defeat instantiation.
}
//TODO: When TestNG moves to JDK11 as the default JDK this method needs to be deprecated and removed
//because now this method is present in JDK11 as part of the JDK itself.
//See https://hg.openjdk.java.net/jdk/jdk/file/fc16b5f193c7/src/java.base/share/classes/java/lang/String.java#l2984
public static String repeat(String text, int count) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < count; i++) {
builder.append(text);
}
return builder.toString();
}
public static boolean isNullOrEmpty(String string) {
return string == null || string.trim().isEmpty();
}
public static boolean isNotNullAndNotEmpty(String string) {
return !(isNullOrEmpty(string));
}
/**
* @param string - The input String.
* @return - Returns an empty string if the input String is <code>null</code> (or) empty, else it
* returns back the input string.
*/
public static String getValueOrEmpty(String string) {
return isNotNullAndNotEmpty(string) ? string : "";
}
private static final Map<String, String> ESCAPE_HTML_MAP = Maps.newLinkedHashMap();
static {
ESCAPE_HTML_MAP.put("&", "&");
ESCAPE_HTML_MAP.put("<", "<");
ESCAPE_HTML_MAP.put(">", ">");
}
public static String escapeHtml(String text) {
String result = text;
for (Map.Entry<String, String> entry : ESCAPE_HTML_MAP.entrySet()) {
result = result.replace(entry.getKey(), entry.getValue());
}
return result;
}
public static String valueOf(Map<?, ?> m) {
StringBuilder result = new StringBuilder();
for (Object o : m.values()) {
result.append(o).append(" ");
}
return result.toString();
}
public static String join(String delimiter, String[] parts) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < parts.length - 1; i++) {
sb.append(parts[i]).append(delimiter);
}
if (parts.length > 0) {
sb.append(parts[parts.length - 1]);
}
return sb.toString();
}
}