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(); } }