package krasa.formatter.utils; import krasa.formatter.settings.Settings; import java.util.ArrayList; import java.util.List; /** * @author Vojtech Krasa */ public class StringUtils { public static String betterMatching(String order1, String order2, String anImport) { if (order1.equals(order2)) { throw new IllegalArgumentException("orders are same"); } for (int i = 0; i < anImport.length() - 1; i++) { if (order1.length() - 1 == i && order2.length() - 1 != i) { return order2; } if (order2.length() - 1 == i && order1.length() - 1 != i) { return order1; } char orderChar1 = order1.length() != 0 ? order1.charAt(i) : ' '; char orderChar2 = order2.length() != 0 ? order2.charAt(i) : ' '; char importChar = anImport.charAt(i); if (importChar == orderChar1 && importChar != orderChar2) { return order1; } else if (importChar != orderChar1 && importChar == orderChar2) { return order2; } } return null; } public static List<String> trimToList(String importOrder1) { ArrayList<String> strings = new ArrayList<String>(); String[] split = importOrder1.split(";"); for (String s : split) { String trim = s.trim(); strings.add(trim); } return strings; } public static List<String> trimImports(String imports) { String[] split = imports.split("\n"); ArrayList<String> strings = new ArrayList<String>(); for (int i = 0; i < split.length; i++) { String s = split[i]; if (s.startsWith("import ")) { s = s.substring(7, s.indexOf(";")); strings.add(s); } } return strings; } public static List<String> trimImports(List<String> imports) { ArrayList<String> strings = new ArrayList<String>(); for (int i = 0; i < imports.size(); i++) { String s = imports.get(i); if (s.startsWith("import ")) { s = s.substring(7, s.indexOf(";")); strings.add(s.trim()); } else { strings.add(s.trim()); } } return strings; } public static String generateName(List<Settings> settingsList, int i, String name, String resultName) { if (resultName == null) { resultName = name; } for (Settings settings : settingsList) { if (resultName.equals(settings.getName())) { resultName = name + " (" + i + ")"; resultName = generateName(settingsList, ++i, name, resultName); } } return resultName; } public static String generateName(List<Settings> settingsList, int i, String name) { return generateName(settingsList, i, name, name); } public static String getSimpleName(String s) { int lastDot = s.lastIndexOf("."); if (lastDot == -1) { return s; } return s.substring(lastDot + 1, s.length()); } public static String getPackage(String s) { int lastDot = s.lastIndexOf("."); if (lastDot == -1) { return ""; } return s.substring(0, lastDot); } }