package org.jerlang.util;
public class StringUtil {
/**
* Converts a string from snake_case to CamelCase.
*/
public static String snakeToCamelCase(String string) {
switch (string) {
case "io":
return "IO";
case "os":
return "OS";
case "md5":
return "MD5";
default:
StringBuilder result = new StringBuilder(string.length());
boolean capitalize = true;
for (char c : string.toCharArray()) {
if (c == '_') {
capitalize = true;
} else if (capitalize) {
result.append(Character.toUpperCase(c));
capitalize = false;
} else {
result.append(c);
}
}
return result.toString();
}
}
/**
* Converts a string from CamelCase to snake_case.
*/
public static String camelToSnakeCase(String string) {
switch (string) {
case "IO":
return "io";
case "OS":
return "os";
case "MD5":
return "md5";
default:
StringBuilder result = new StringBuilder(string.length());
for (char c : string.toCharArray()) {
if (Character.isUpperCase(c)) {
if (result.length() > 0) {
result.append('_');
}
result.append(Character.toLowerCase(c));
} else {
result.append(c);
}
}
return result.toString();
}
}
}