diff options
author | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2021-03-24 11:08:57 +0000 |
---|---|---|
committer | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2021-03-24 11:08:57 +0000 |
commit | 666d8c9f8cec7573e60a14ab039c0874f6a9ec53 (patch) | |
tree | d9b2506506cf544ea3758322fd5488c913073427 /moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/URLEncoder.java | |
parent | d003a873fdeec22b1dd57d61590a12a1691ae137 (diff) | |
parent | cd65b47cc30e7119593bbb05afa48d4f896a4859 (diff) | |
download | moa-sig-666d8c9f8cec7573e60a14ab039c0874f6a9ec53.tar.gz moa-sig-666d8c9f8cec7573e60a14ab039c0874f6a9ec53.tar.bz2 moa-sig-666d8c9f8cec7573e60a14ab039c0874f6a9ec53.zip |
Merge branch 'feature/codestyle_and_gitlab_ci' into 'master'
Feature/codestyle and gitlab ci
See merge request egiz/moa-sig!1
Diffstat (limited to 'moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/URLEncoder.java')
-rw-r--r-- | moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/URLEncoder.java | 55 |
1 files changed, 31 insertions, 24 deletions
diff --git a/moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/URLEncoder.java b/moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/URLEncoder.java index 2aa7e22..5eaece3 100644 --- a/moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/URLEncoder.java +++ b/moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/URLEncoder.java @@ -21,7 +21,6 @@ * that you distribute must include a readable copy of the "NOTICE" text file. */ - package at.gv.egovernment.moaspss.util; import java.io.ByteArrayInputStream; @@ -29,60 +28,68 @@ import java.io.StringWriter; import java.io.UnsupportedEncodingException; /** - * Translates a string into mime format "x-www-form-urlencoded". - * Provides a function missing in JDK 1.3. + * Translates a string into mime format "x-www-form-urlencoded". Provides a + * function missing in JDK 1.3. + * * @author Paul Ivancsics * @version $Id$ */ public class URLEncoder { - + /** * Translates a string into x-www-form-urlencoded format. - * @param s the string to be translated + * + * @param s the string to be translated * @param encoding the encoding to use * @return the translated string - * @throws UnsupportedEncodingException when the desired encoding is not supported + * @throws UnsupportedEncodingException when the desired encoding is not + * supported */ public static String encode(String s, String encoding) throws UnsupportedEncodingException { // if (MiscUtil.isEmpty(s)) // return null; - byte[] barr = s.getBytes(encoding); - ByteArrayInputStream bin = new ByteArrayInputStream(barr); - StringWriter out = new StringWriter(); - for (int b = bin.read(); b >= 0; b = bin.read()) + final byte[] barr = s.getBytes(encoding); + final ByteArrayInputStream bin = new ByteArrayInputStream(barr); + final StringWriter out = new StringWriter(); + for (int b = bin.read(); b >= 0; b = bin.read()) { encode(b, out); + } return out.toString(); } - + /** * Encode a character. - * @param ch The character to encode. + * + * @param ch The character to encode. * @param out The <code>StringWriter</code> containing the result. */ private static void encode(int ch, StringWriter out) { - if ((ch >= 'a' && ch <= 'z') - || (ch >= 'A' && ch <= 'Z') - || (ch >= '0' && ch <= '9') - || ch == '.' || ch == '-' || ch == '*' || ch == '_') + if (ch >= 'a' && ch <= 'z' + || ch >= 'A' && ch <= 'Z' + || ch >= '0' && ch <= '9' + || ch == '.' || ch == '-' || ch == '*' || ch == '_') { out.write(ch); - else if (ch == ' ') + } else if (ch == ' ') { out.write('+'); - else + } else { encodeHex(ch, out); + } } - + /** - * Encode a character as an escaped hex value. - * @param ch The character to encode. + * Encode a character as an escaped hex value. + * + * @param ch The character to encode. * @param out The <code>StringWriter</code> containing the result. */ private static void encodeHex(int ch, StringWriter out) { out.write('%'); - String hex = Integer.toHexString(ch).toUpperCase(); - if (hex.length() < 2) + final String hex = Integer.toHexString(ch).toUpperCase(); + if (hex.length() < 2) { out.write('0'); - else + } else { out.write(hex.charAt(hex.length() - 2)); + } out.write(hex.charAt(hex.length() - 1)); } |