package com.core.generators.utils;
|
|
import com.core.common.Cools;
|
|
import java.util.regex.Matcher;
|
import java.util.regex.Pattern;
|
|
public class GeneratorUtils {
|
|
public static String _convert(String text, boolean keepFirst) {
|
String[] arr = text.split("_");
|
StringBuilder builder = new StringBuilder();
|
for (int i = 0; i < arr.length; i++) {
|
if (i == 0 && keepFirst) {
|
builder.append(arr[i]);
|
} else {
|
builder.append(arr[i].substring(0, 1).toUpperCase()).append(arr[i].substring(1));
|
}
|
}
|
return builder.toString();
|
}
|
|
public static String _convert(String text) {
|
return _convert(text, true);
|
}
|
|
public static String getType(int sqlType) {
|
switch (sqlType) {
|
case -7:
|
return "Boolean";
|
case -6:
|
case 5:
|
return "Short";
|
case 4:
|
return "Integer";
|
case -5:
|
return "Long";
|
case 8:
|
case 3:
|
return "Double";
|
case -15:
|
case -9:
|
case 1:
|
case 12:
|
case 2004:
|
case -1:
|
return "String";
|
case 91:
|
case 93:
|
return "Date";
|
default:
|
return null;
|
}
|
}
|
|
public static String getNameSpace(String tableName) {
|
String[] arr = tableName.split("_");
|
StringBuilder builder = new StringBuilder();
|
for (int i = 1; i < arr.length; i++) {
|
if (i != 1) {
|
builder.append("_");
|
}
|
builder.append(arr[i]);
|
}
|
return _convert(builder.toString(), false);
|
}
|
|
public static String supportHtmlName(String name) {
|
if (Cools.isEmpty(name)) {
|
return "";
|
}
|
if (name.length() == 2) {
|
return new StringBuilder()
|
.append(name.charAt(0))
|
.append(" ")
|
.append(name.charAt(1))
|
.toString();
|
}
|
if (name.length() == 3) {
|
return new StringBuilder()
|
.append(name.charAt(0))
|
.append(" ")
|
.append(name.charAt(1))
|
.append(" ")
|
.append(name.charAt(2))
|
.toString();
|
}
|
return name;
|
}
|
|
public static Integer getColumnLength(String typeText) {
|
if (Cools.isEmpty(typeText)) {
|
return null;
|
}
|
Pattern pattern = Pattern.compile("(?<=\\()(.+?)(?=\\))");
|
Matcher matcher = pattern.matcher(typeText);
|
if (matcher.find()) {
|
String value = matcher.group();
|
if (value.contains(",")) {
|
value = value.split(",")[0];
|
}
|
return Integer.valueOf(Integer.parseInt(value));
|
}
|
return null;
|
}
|
|
public static String firstCharConvert(String text, boolean lower) {
|
if (Cools.isEmpty(text)) {
|
return "";
|
}
|
String first = text.substring(0, 1);
|
if (lower) {
|
first = first.toLowerCase();
|
} else {
|
first = first.toUpperCase();
|
}
|
return new StringBuilder().append(first).append(text.substring(1)).toString();
|
}
|
|
public static String firstCharConvert(String text) {
|
return firstCharConvert(text, true);
|
}
|
|
public static String humpToLine(String text) {
|
Pattern pattern = Pattern.compile("[A-Z]");
|
Matcher matcher = pattern.matcher(text);
|
StringBuffer buffer = new StringBuffer();
|
while (matcher.find()) {
|
matcher.appendReplacement(buffer, "_" + matcher.group(0).toLowerCase());
|
}
|
matcher.appendTail(buffer);
|
return buffer.toString();
|
}
|
}
|