java.lang.Object
org.glassfish.grizzly.http.util.UEncoder

public final class UEncoder extends Object
Efficient implementation for encoders. This class is not thread safe - you need one encoder per thread. The encoder will save and recycle the internal objects, avoiding garbage.

You can add extra characters that you want preserved, for example while encoding a URL you can add "/".

Author:
Costin Manolache
  • Constructor Details

    • UEncoder

      public UEncoder()
  • Method Details

    • setEncoding

      public void setEncoding(String s)
    • addSafeCharacter

      public void addSafeCharacter(char c)
    • urlEncode

      public void urlEncode(Writer buf, String s) throws IOException
      URL Encode string, using a specified encoding.
      Parameters:
      buf - the Writer to write the encoded result to.
      s - the String to encode.
      Throws:
      IOException
    • urlEncode

      public void urlEncode(Writer buf, String s, boolean toHexUpperCase) throws IOException
      URL Encode string, using a specified encoding.
      Parameters:
      buf - the Writer to write the encoded result to.
      s - the String to encode.
      toHexUpperCase - the hex string will be in upper case
      Throws:
      IOException
    • urlEncode

      public void urlEncode(Writer buf, byte[] bytes, int off, int len) throws IOException
      Throws:
      IOException
    • urlEncode

      public void urlEncode(Writer buf, byte[] bytes, int off, int len, boolean toHexUpperCase) throws IOException
      Throws:
      IOException
    • encodeURL

      public String encodeURL(String url)
      Utility funtion to re-encode the URL. Still has problems with charset, since UEncoder mostly ignores it.
      Parameters:
      url -
    • encodeURL

      public String encodeURL(String uri, boolean toHexUpperCase)
      Utility function to re-encode the URL. Still has problems with charset, since UEncoder mostly ignores it.
      Parameters:
      uri - the URI to encode.
      toHexUpperCase - the hex string will be in upper case