Code formatting.
[svjatoslav_commons.git] / src / main / java / eu / svjatoslav / commons / string / String2.java
index 504c41d..9fb7baf 100755 (executable)
@@ -14,15 +14,16 @@ import java.util.List;
 
 public class String2 {
 
-    private final List<Character> chars;
+    private final List<Character> chars = new ArrayList<>();
 
-    public String2(final String value) {
-        chars = new ArrayList<>(value.length());
-        for (final Character c : value.toCharArray())
-            chars.add(c);
+    public String2(String value) {
+        addSuffix(value);
     }
 
     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 +32,24 @@ 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.
      *
@@ -55,14 +68,17 @@ public class String2 {
         return this;
     }
 
-    public String2 trimPrefixIfExists(String prefix){
+    public String2 trimPrefixIfExists(String prefix) {
+        if (prefix == null)
+            return this;
+
         if (hasPrefix(prefix))
             trimPrefix(prefix.length());
 
         return this;
     }
 
-    public String2 trimSuffixIfExists(String suffix){
+    public String2 trimSuffixIfExists(String suffix) {
         if (hasSuffix(suffix))
             trimSuffix(suffix.length());
 
@@ -71,13 +87,13 @@ public class String2 {
 
     public String2 trimSuffix(int charsToTrim) {
 
-        if (charsToTrim > chars.size()){
+        if (charsToTrim > chars.size()) {
             chars.clear();
             return this;
         }
 
-        for (int i = 0; i<charsToTrim; i++)
-            chars.remove(chars.size()-1);
+        for (int i = 0; i < charsToTrim; i++)
+            chars.remove(chars.size() - 1);
 
         return this;
     }
@@ -86,11 +102,11 @@ public class String2 {
         return contains(suffix, getLength() - suffix.length());
     }
 
-    public boolean hasPrefix(String prefix){
+    public boolean hasPrefix(String prefix) {
         return contains(prefix, 0);
     }
 
-    public boolean contains(String fragment, int index){
+    public boolean contains(String fragment, int index) {
         if (index + fragment.length() > chars.size())
             return false;