public static List<String> toWordList(String s, boolean allowUnderscore) { List<String> ss = new ArrayList<>(); int n = s.length(); for (int i = 0; i < n;) { while (i < n) { if ((allowUnderscore && s.charAt(i) == '_') || !isPunct(s.charAt(i))) { break; } i++; } if (i >= n) { break; } int b = nextBreak(s, i, allowUnderscore); String w = (b == -1) ? s.substring(i) : s.substring(i, b); ss.add(escape(capitalize(w))); if (b == -1) { break; } i = b; } return ss; }
private static int nextBreak(String s, int start, boolean allowUnderscore) { int n = s.length(); char c1 = s.charAt(start); int t1 = classify(c1); for (int i = start + 1; i < n; i++) { int t0 = t1; c1 = s.charAt(i); t1 = classify(c1); switch (ACTION_TABLE[t0 * 5 + t1]) { case ACTION_CHECK_PUNCT: if (isPunct(c1) && !(allowUnderscore && c1 == '_')) { return i; } break; case ACTION_CHECK_C2: if (i < n - 1) { char c2 = s.charAt(i + 1); if (isLower(c2)) { return i; } } break; case ACTION_BREAK: return i; default: } } return -1; }
public static String mangleNameToVariableName(String vName) { String result = NameUtil.mangleNameToVariableName(vName); if (JavaUtils.isJavaKeyword(result)) { return KEYWORDS_PREFIX + result; } return result; }
public static String mangleNameToVariableName(String name) { return toMixedCaseName(toWordList(name), false); } }
/** * Convert a parameter value to the name of a bean we'd use for a data binding. * * @param databindingName * @return */ public static String databindingNameToBeanName(String dbName) { return NameUtil.capitalize(dbName.toLowerCase()) + ToolConstants.DATABIND_BEAN_NAME_SUFFIX; }
public static String resolvePartType(MessagePartInfo part) { return NameUtil.mangleNameToClassName(getPartType(part)); }
public static String capitalize(String s) { if (!isLower(s.charAt(0))) { return s; } StringBuilder sb = new StringBuilder(s.length()); sb.append(Character.toUpperCase(s.charAt(0))); sb.append(s.substring(1).toLowerCase()); return sb.toString(); }
private static String escape(String s) { int n = s.length(); for (int i = 0; i < n; i++) { if (!Character.isJavaIdentifierPart(s.charAt(i))) { StringBuilder sb = new StringBuilder(s.substring(0, i)); escape(sb, s, i); return sb.toString(); } } return s; }
/** * Convert a parameter value to the name of a bean we'd use for a data binding. * * @param databindingName * @return */ public static String databindingNameToBeanName(String dbName) { return NameUtil.capitalize(dbName.toLowerCase()) + ToolConstants.DATABIND_BEAN_NAME_SUFFIX; }
private String getImplName(String port, String service, JavaInterface intf, ToolContext penv) { Map<String, String> nm = CastUtils.cast((Map<?, ?>)penv.get(ToolConstants.CFG_IMPL_CLASS)); if (nm == null) { nm = new HashMap<>(); penv.put(ToolConstants.CFG_IMPL_CLASS, nm); } String name = nm.get(service + "/" + port); if (name == null) { name = NameUtil.mangleNameToClassName(port + "Impl", true); name = mapClassName(intf.getPackageName(), name, penv); nm.put(service + "/" + port, name); } return name; } private String mapClassName(String packageName, String name, ToolContext context) {
public static String mangleNameToClassName(String name, boolean allowUnderscores) { return toMixedCaseName(toWordList(name, allowUnderscores), true); }
public static String capitalize(String s) { if (!isLower(s.charAt(0))) { return s; } StringBuilder sb = new StringBuilder(s.length()); sb.append(Character.toUpperCase(s.charAt(0))); sb.append(s.substring(1).toLowerCase()); return sb.toString(); }
private static String escape(String s) { int n = s.length(); for (int i = 0; i < n; i++) { if (!Character.isJavaIdentifierPart(s.charAt(i))) { StringBuilder sb = new StringBuilder(s.substring(0, i)); escape(sb, s, i); return sb.toString(); } } return s; }
public static List<String> toWordList(String s, boolean allowUnderscore) { List<String> ss = new ArrayList<>(); int n = s.length(); for (int i = 0; i < n;) { while (i < n) { if ((allowUnderscore && s.charAt(i) == '_') || !isPunct(s.charAt(i))) { break; } i++; } if (i >= n) { break; } int b = nextBreak(s, i, allowUnderscore); String w = (b == -1) ? s.substring(i) : s.substring(i, b); ss.add(escape(capitalize(w))); if (b == -1) { break; } i = b; } return ss; }
protected static String toMixedCaseVariableName(String[] ss, boolean startUpper, boolean cdrUpper) { if (cdrUpper) { for (int i = 1; i < ss.length; i++) { ss[i] = capitalize(ss[i]); } } StringBuilder sb = new StringBuilder(); if (ss.length > 0) { sb.append(startUpper ? ss[0] : ss[0].toLowerCase()); for (int i = 1; i < ss.length; i++) { sb.append(ss[i]); } } return sb.toString(); }
private String getImplName(String port, String service, JavaInterface intf, ToolContext penv) { Map<String, String> nm = CastUtils.cast((Map<?, ?>)penv.get(ToolConstants.CFG_IMPL_CLASS)); if (nm == null) { nm = new HashMap<>(); penv.put(ToolConstants.CFG_IMPL_CLASS, nm); } String name = nm.get(service + "/" + port); if (name == null) { name = NameUtil.mangleNameToClassName(port + "Impl", true); name = mapClassName(intf.getPackageName(), name, penv); nm.put(service + "/" + port, name); } return name; }
public static String mangleNameToClassName(String name) { return toMixedCaseName(toWordList(name), true); } public static String mangleNameToClassName(String name, boolean allowUnderscores) {
private static int nextBreak(String s, int start, boolean allowUnderscore) { int n = s.length(); char c1 = s.charAt(start); int t1 = classify(c1); for (int i = start + 1; i < n; i++) { int t0 = t1; c1 = s.charAt(i); t1 = classify(c1); switch (ACTION_TABLE[t0 * 5 + t1]) { case ACTION_CHECK_PUNCT: if (isPunct(c1) && !(allowUnderscore && c1 == '_')) { return i; } break; case ACTION_CHECK_C2: if (i < n - 1) { char c2 = s.charAt(i + 1); if (isLower(c2)) { return i; } } break; case ACTION_BREAK: return i; default: } } return -1; }
public static String resolvePartName(MessagePartInfo part) { return NameUtil.mangleNameToVariableName(part.getName().getLocalPart()); }
protected static String toMixedCaseVariableName(String[] ss, boolean startUpper, boolean cdrUpper) { if (cdrUpper) { for (int i = 1; i < ss.length; i++) { ss[i] = capitalize(ss[i]); } } StringBuilder sb = new StringBuilder(); if (ss.length > 0) { sb.append(startUpper ? ss[0] : ss[0].toLowerCase()); for (int i = 1; i < ss.length; i++) { sb.append(ss[i]); } } return sb.toString(); }