@Test public void testSuperURLDecode_HandlesDoubleEncodedString() { String encoded = "http%3A%2F%2Fexample.com%2Fpath%3Fu%3Dhttp%253A%252F%252Fexample.com%252F%26val2%3Dabc%2Bdef%26val3%3Djkl%231234"; String decoded = "http: assertEquals(decoded, LessStrings.superURLDecode(encoded)); }
public static String superURLDecode(String encoded) { String decoded = urlDecode(encoded); int rounds = 0; while (encoded != decoded && rounds < maxDecodingRounds) { encoded = decoded; decoded = urlDecode(encoded); rounds++; } return decoded; }
LessStrings { public static String superURLDecode(String encoded) { String decoded = urlDecode(encoded); int rounds = 0; while (encoded != decoded && rounds < maxDecodingRounds) { encoded = decoded; decoded = urlDecode(encoded); rounds++; } return decoded; } }
LessStrings { public static String superURLDecode(String encoded) { String decoded = urlDecode(encoded); int rounds = 0; while (encoded != decoded && rounds < maxDecodingRounds) { encoded = decoded; decoded = urlDecode(encoded); rounds++; } return decoded; } private  LessStrings(); }
LessStrings { public static String superURLDecode(String encoded) { String decoded = urlDecode(encoded); int rounds = 0; while (encoded != decoded && rounds < maxDecodingRounds) { encoded = decoded; decoded = urlDecode(encoded); rounds++; } return decoded; } private  LessStrings(); static String padright(String str, int len); static String padright(String str, int len, String padder); static String padleft(String str, int len); static String padleft(String str, int len, String padder); static String repeat(char c, int times); static String repeat(CharSequence s, int times); static StringSplitter split(String str, String sep); static StringSplitter split(String str, String sep, boolean includeTok); static String[] splitArray(String str, String sep); static boolean isEqual(String s1, String s2); static boolean isEmpty(String str); static boolean isNotEmpty(String str); static boolean isBlank(String str); static boolean isASCIIPrintable(String str); static boolean contains(String[] haystack, String needle); static boolean contains(String[] haystack, String needle, boolean ignoreCase); static String cat(String s1, String s2); static String cat(String s1, String s2, String s3); static String cat(String s1, String s2, String s3, String s4); static String cat(String s1, String s2, String s3, String s4, String s5); static String cat(String s1, String s2, String s3, String s4, String s5, String s6); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10, String s11); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10, String s11, String s12); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10, String s11, String s12, String s13); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10, String s11, String s12, String s13, String s14); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10, String s11, String s12, String s13, String s14, String s15); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10, String s11, String s12, String s13, String s14, String s15, String s16); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10, String s11, String s12, String s13, String s14, String s15, String s16, String s17); static String join(Object[] s, String j); static String trim(String s); static String trunc(String s, int len); static String toString(Object o); static String printable(String raw); static String printable(byte[] msg); static String cleanEOL(String source); static String remove(String s, char c); static String xmlEscape(String string); static String urlEncode(String string); static String urlDecode(String string); static String superURLDecode(String encoded); static String urlEncode3986(String string); static String capitalize(String s); static int indexOfOrLength(String str, int fromIndex, char... vals); static String unNull(String str); }
LessStrings { public static String superURLDecode(String encoded) { String decoded = urlDecode(encoded); int rounds = 0; while (encoded != decoded && rounds < maxDecodingRounds) { encoded = decoded; decoded = urlDecode(encoded); rounds++; } return decoded; } private  LessStrings(); static String padright(String str, int len); static String padright(String str, int len, String padder); static String padleft(String str, int len); static String padleft(String str, int len, String padder); static String repeat(char c, int times); static String repeat(CharSequence s, int times); static StringSplitter split(String str, String sep); static StringSplitter split(String str, String sep, boolean includeTok); static String[] splitArray(String str, String sep); static boolean isEqual(String s1, String s2); static boolean isEmpty(String str); static boolean isNotEmpty(String str); static boolean isBlank(String str); static boolean isASCIIPrintable(String str); static boolean contains(String[] haystack, String needle); static boolean contains(String[] haystack, String needle, boolean ignoreCase); static String cat(String s1, String s2); static String cat(String s1, String s2, String s3); static String cat(String s1, String s2, String s3, String s4); static String cat(String s1, String s2, String s3, String s4, String s5); static String cat(String s1, String s2, String s3, String s4, String s5, String s6); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10, String s11); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10, String s11, String s12); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10, String s11, String s12, String s13); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10, String s11, String s12, String s13, String s14); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10, String s11, String s12, String s13, String s14, String s15); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10, String s11, String s12, String s13, String s14, String s15, String s16); static String cat(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8,
                             String s9, String s10, String s11, String s12, String s13, String s14, String s15, String s16, String s17); static String join(Object[] s, String j); static String trim(String s); static String trunc(String s, int len); static String toString(Object o); static String printable(String raw); static String printable(byte[] msg); static String cleanEOL(String source); static String remove(String s, char c); static String xmlEscape(String string); static String urlEncode(String string); static String urlDecode(String string); static String superURLDecode(String encoded); static String urlEncode3986(String string); static String capitalize(String s); static int indexOfOrLength(String str, int fromIndex, char... vals); static String unNull(String str); static final String pad; static final String pad0; }