Add support for URL encode/decode methods added in Java 10.
@@ -52,17 +52,10 @@ public final class TURLEncoder {
return buf.toString();
}
- public static String encode(String s, String enc) throws UnsupportedEncodingException {
+ public static String encode(String s, Charset enc) {
Objects.requireNonNull(s);
Objects.requireNonNull(enc);
- // check for UnsupportedEncodingException
- try {
- Charset.forName(enc);
- } catch (UnsupportedCharsetException e) {
- throw new UnsupportedEncodingException(enc);
- }
-
// Guess a bit bigger for encoded form
StringBuffer buf = new StringBuffer(s.length() + 16);
int start = -1;
@@ -91,7 +84,19 @@ public final class TURLEncoder {
return buf.toString();
}
- private static void convert(String s, StringBuffer buf, String enc) throws UnsupportedEncodingException {
+ public static String encode(String s, String enc) throws UnsupportedEncodingException {
+ Objects.requireNonNull(s);
+ Objects.requireNonNull(enc);
+
+ // check for UnsupportedEncodingException
+ try {
+ return encode(s, Charset.forName(enc));
+ } catch (UnsupportedCharsetException e) {
+ throw new UnsupportedEncodingException(enc);
+ }
+ }
+
+ private static void convert(String s, StringBuffer buf, Charset enc) {
byte[] bytes = s.getBytes(enc);
for (int j = 0; j < bytes.length; j++) {
buf.append('%');
