Package org.apache.catalina.util

## Class URLEncoder

- java.lang.Object
- - org.apache.catalina.util.URLEncoder

- All Implemented Interfaces:
    `java.lang.Cloneable`

      public final class URLEncoder
      extends java.lang.Object
      implements java.lang.Cloneable

  This class is very similar to the java.net.URLEncoder class. Unfortunately, with java.net.URLEncoder there is no way to specify to the java.net.URLEncoder which characters should NOT be encoded. This code was moved from DefaultServlet.java
  Author:
    Craig R. McClanahan, Remy Maucherat

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static URLEncoder` | `DEFAULT` |
    `static URLEncoder` | `QUERY` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `URLEncoder()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addSafeCharacter​(char c)` |
    `java.lang.Object` | `clone()` |
    `java.lang.String` | `encode​(java.lang.String path)` | Deprecated. Use `encode(String, String)`
    `java.lang.String` | `encode​(java.lang.String path, java.lang.String encoding)` | Deprecated. This will be removed in Tomcat 9.0.x
    `java.lang.String` | `encode​(java.lang.String path, java.nio.charset.Charset charset)` | URL encodes the provided path using the given character set.
    `void` | `removeSafeCharacter​(char c)` |
    `void` | `setEncodeSpaceAsPlus​(boolean encodeSpaceAsPlus)` |

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT

          public static final URLEncoder DEFAULT

    - #### QUERY

          public static final URLEncoder QUERY

  - ### Constructor Detail

    - #### URLEncoder

          public URLEncoder()

  - ### Method Detail

    - #### addSafeCharacter

          public void addSafeCharacter​(char c)

    - #### removeSafeCharacter

          public void removeSafeCharacter​(char c)

    - #### setEncodeSpaceAsPlus

          public void setEncodeSpaceAsPlus​(boolean encodeSpaceAsPlus)

    - #### encode

          @Deprecated
          public java.lang.String encode​(java.lang.String path)

      Deprecated.
      Use `encode(String, String)`
      URL encodes the provided path using UTF-8.
      Parameters:
        `path` - The path to encode
      Returns:
        The encoded path

    - #### encode

          @Deprecated
          public java.lang.String encode​(java.lang.String path,
                                         java.lang.String encoding)

      Deprecated.
      This will be removed in Tomcat 9.0.x
      URL encodes the provided path using the given encoding.
      Parameters:
        `path` - The path to encode
        `encoding` - The encoding to use to convert the path to bytes
      Returns:
        The encoded path

    - #### encode

          public java.lang.String encode​(java.lang.String path,
                                         java.nio.charset.Charset charset)

      URL encodes the provided path using the given character set.
      Parameters:
        `path` - The path to encode
        `charset` - The character set to use to convert the path to bytes
      Returns:
        The encoded path

    - #### clone

          public java.lang.Object clone()

      Overrides:
        `clone` in class `java.lang.Object`