package phantomlancer.tools;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import phantomlancer.annotation.AvroScan;
public class StrUtils {
public static String camelConvert(AvroScan avroScan, String name) {
Validate.isTrue(StringUtils.isNotBlank(name), "Camel Convert Error , Params is Blank!");
if (!avroScan.camelConvert()) {
return name;
}
StringBuilder result = new StringBuilder();
result.append(name.substring(0, 1).toLowerCase());
boolean isUppering = false;
for (int i = 1; i < name.length(); i++) {
String s = name.substring(i, i + 1);
if (s.equals(s.toUpperCase()) && !Character.isDigit(s.charAt(0))) {
if (!isUppering) {
result.append("_");
isUppering = true;
}
} else {
isUppering = false;
}
result.append(s.toLowerCase());
}
return result.toString();
}
}