package org.openstack.atlas.util.common;
import java.io.UnsupportedEncodingException;
import java.util.Collection;
public class StringUtils {
public static String displayParsedInt(String strIn) {
try {
int i = Integer.parseInt(strIn);
return String.format("%d", i);
} catch (NumberFormatException ex) {
return "INVALID";
}
}
// Got tired of spelling ExtendedStackTrace
public static String getEST(Throwable th) {
return getExtendedStackTrace(th);
}
public static String getExtendedStackTrace(Throwable th) {
Throwable t;
StringBuilder sb = new StringBuilder(4096);
Exception currEx;
String msg;
t = th;
while (t != null) {
if (t instanceof Exception) {
currEx = (Exception) t;
sb.append(String.format("Exception: %s:%s\n", currEx.getMessage(), currEx.getClass().getName()));
for (StackTraceElement se : currEx.getStackTrace()) {
sb.append(String.format("%s\n", se.toString()));
}
sb.append("\n");
t = t.getCause();
}
}
return sb.toString();
}
public static <T> String joinString(Collection<T> objects, String delim) {
String newString = "";
for (Object string : objects) {
newString += string.toString() + delim;
}
if (!newString.equals("")) {
newString = newString.substring(0, newString.length() - delim.length());
}
return newString;
}
public static byte[] asciiBytes(String asciiStr) {
byte[] out = null;
try {
out = asciiStr.getBytes("US-ASCII");
return out;
} catch (UnsupportedEncodingException ex) {
// Impossable Exception as Java Spec says all Implementations will
// support US-ASCII. But incase the impossible does happen
// return null
return out;
}
}
}