package com.eas.script; /** * * @author vv */ public class FileNameSupport { /** * Generates a file name by adding a dash on an camel case letter. * * @param aCamelCaseName a string like 'ConstructorName' * @return a string like 'constructor-name' */ public static String getFileName(String aCamelCaseName) { int lastMinusIdx = aCamelCaseName.lastIndexOf("-"); if (lastMinusIdx != -1) { aCamelCaseName = aCamelCaseName.substring(0, lastMinusIdx); } if (aCamelCaseName.startsWith("platypus-js-")) { aCamelCaseName = aCamelCaseName.substring("platypus-js-".length()); } char[] chars = aCamelCaseName.toCharArray(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < aCamelCaseName.length(); i++) { sb.append(Character.toLowerCase(chars[i])); if (i < aCamelCaseName.length() - 1 && Character.isLowerCase(chars[i]) && Character.isUpperCase(chars[i + 1])) { sb.append('-'); } } return sb.toString(); } }