/** * Unwraps a sequence of quoted java strings, that are each separated by the given separator. * @param trimmedArg * @return */ public static List<String> unwrapQuotedJavaStringList(String s, String separator) { List<String> result = new ArrayList<String>(); String remaining = s.trim(); while (remaining.length() > 0) { int endIndex = findNextClosingQuoteOf(remaining); result.add(unwrapJavaString(remaining.substring(0, endIndex+1))); remaining = remaining.substring(endIndex+1).trim(); if (remaining.startsWith(separator)) { remaining = remaining.substring(separator.length()).trim(); } else if (remaining.length() > 0) { throw new IllegalArgumentException("String '"+s+"' has invalid separators, should be '"+separator+"'"); } } return result; } private static int findNextClosingQuoteOf(String s) {
public static String unwrapJavaStringIfWrapped(String s) { if (!StringEscapes.isWrappedInDoubleQuotes(s)) return s; return unwrapJavaString(s); }