32 lines
1009 B
Java
32 lines
1009 B
Java
package io.github.lonamiwebs.overgram.utils;
|
|
|
|
public class Utils {
|
|
public static String toCamelCase(final String string, final boolean firstUpper) {
|
|
final StringBuilder result = new StringBuilder(string.length());
|
|
|
|
final int dot = string.lastIndexOf(".");
|
|
if (dot != -1) {
|
|
result.append(string, 0, dot + 1);
|
|
}
|
|
|
|
if (firstUpper) {
|
|
result.append(Character.toUpperCase(string.charAt(dot + 1)));
|
|
} else {
|
|
result.append(Character.toLowerCase(string.charAt(dot + 1)));
|
|
}
|
|
boolean upperNext = false;
|
|
for (int i = dot + 2; i < string.length(); ++i) {
|
|
final char c = string.charAt(i);
|
|
if (c == '_') {
|
|
upperNext = true;
|
|
} else if (upperNext) {
|
|
upperNext = false;
|
|
result.append(Character.toUpperCase(c));
|
|
} else {
|
|
result.append(c);
|
|
}
|
|
}
|
|
return result.toString();
|
|
}
|
|
}
|