package novoda.android.typewriter.util;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringUtil {
public static final String SET = "set";
public static final String GET = "get";
public static String camelify(String original) {
if (original == null)
return "";
StringBuilder builder = new StringBuilder();
Pattern p = Pattern.compile("[a-zA-Z0-9]+");
Matcher m = p.matcher(original);
String word;
while (m.find()) {
word = m.group();
builder.append(capitalize(word));
}
return builder.toString();
}
private static String capitalize(String string) {
if (string.length() > 1)
return string.substring(0, 1).toUpperCase() + string.substring(1);
return "";
}
public static String snakify(String original) {
if (original == null || original.length() == 0)
return "";
StringBuilder builder = new StringBuilder();
Pattern p = Pattern.compile("[A-Z][a-z0-9]+");
Matcher m = p.matcher(original);
String word;
while (m.find()) {
word = m.group();
builder.append(word.toLowerCase());
if (!m.hitEnd()) {
builder.append('_');
}
}
if (builder.length() == 0) {
return original.toLowerCase();
}
return builder.toString();
}
public static String asCamelifyGetMethod(String original) {
return GET + camelify(original);
}
public static String asCamelifySetMethod(String original) {
return SET + camelify(original);
}
}