checkpoint
[sbp.git] / src / edu / berkeley / sbp / util / StringUtil.java
index fc8f8e1..d8de66d 100644 (file)
@@ -2,6 +2,19 @@ package edu.berkeley.sbp.util;
 
 /** miscellaneous string utilities */
 public class StringUtil {
+
+    public static String pad(int i,String s) {
+        return s.length() >= i ? s : pad(i-1,s)+" ";
+    }
+
+    public static String join(String[] s, String sep) {
+        StringBuffer ret = new StringBuffer();
+        for(int i=0; i<s.length; i++) {
+            if (i>0) ret.append(sep);
+            ret.append(s[i]);
+        }
+        return ret.toString();
+    }
     public static String toJavaString(String s) {
         StringBuffer sb = new StringBuffer();
         for(int i=0; i<s.length(); i++) {
@@ -42,6 +55,7 @@ public class StringUtil {
     */
     public static String escapify(String s) { return escapify(s, "\\\n\r"); }
     public static String escapify(String s, String illegal) {
+        if (s==null) return null;
         StringBuffer sb = new StringBuffer();
         for(int i=0; i<s.length(); i++) {
             char c = s.charAt(i);
@@ -55,4 +69,17 @@ public class StringUtil {
         }
         return sb.toString();
     }
+
+    public static String indent(String s, int indent) {
+        if (s.indexOf('\n')==-1) return s;
+        StringBuffer ret = new StringBuffer();
+        for(int i=0; i<s.length(); i++) {
+            char c = s.charAt(i);
+            ret.append(c);
+            if (c=='\n')
+                for(int j=0; j<indent; j++)
+                    ret.append(' ');
+        }
+        return ret.toString();
+    }
 }