Possibility to add separator prefixed suffixes.
[svjatoslav_commons.git] / src / main / java / eu / svjatoslav / commons / string / String2.java
index 504c41d..2e9446a 100755 (executable)
@@ -16,13 +16,19 @@ public class String2 {
 
     private final List<Character> chars;
 
-    public String2(final String value) {
+    public String2(String value) {
+        if (value == null)
+            value = "";
+
         chars = new ArrayList<>(value.length());
         for (final Character c : value.toCharArray())
             chars.add(c);
     }
 
     public String2 addPrefix(final String prefix) {
+        if (prefix == null)
+            return this;
+
         int i = 0;
         for (final char c : prefix.toCharArray())
             chars.add(i++, c);
@@ -31,12 +37,23 @@ public class String2 {
     }
 
     public String2 addSuffix(final String suffix) {
+        if (suffix == null)
+            return this;
+
         for (final char c : suffix.toCharArray())
             chars.add(c);
 
         return this;
     }
 
+    public String2 addSuffix(String separator, final String suffix) {
+        if (!isEmpty())
+            addSuffix(separator);
+
+        addSuffix(suffix);
+
+        return this;
+    }
     /**
      * Cut given amount of characters from the left of the string.
      *
@@ -56,6 +73,9 @@ public class String2 {
     }
 
     public String2 trimPrefixIfExists(String prefix){
+        if (prefix == null)
+            return this;
+
         if (hasPrefix(prefix))
             trimPrefix(prefix.length());