com.google.gwt.http.client

## Class URL

- java.lang.Object
- - com.google.gwt.http.client.URL

-     public final class URL
      extends java.lang.Object

  Utility class for the encoding and decoding URLs in their entirety or by their individual components.

  ### Required Module

  Modules that use this class should inherit `com.google.gwt.http.HTTP`.

  >     <module>
  >       <!-- other inherited modules, such as com.google.gwt.user.User -->
  >       <inherits name="com.google.gwt.http.HTTP"/>
  >       <!-- additional module settings -->
  >     </module>

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.String` | `decode(java.lang.String encodedURL)` Returns a string where all URL escape sequences have been converted back to their original character representations.
    `static java.lang.String` | `decodeComponent(java.lang.String encodedURLComponent)` Deprecated. Use `decodeQueryString(String)`
    `static java.lang.String` | `decodeComponent(java.lang.String encodedURLComponent, boolean fromQueryString)` Deprecated. Use `decodeQueryString(String)`, `decodePathSegment(String)`
    `static java.lang.String` | `decodePathSegment(java.lang.String encodedURLComponent)` Returns a string where all URL component escape sequences have been converted back to their original character representations.
    `static java.lang.String` | `decodeQueryString(java.lang.String encodedURLComponent)` Returns a string where all URL component escape sequences have been converted back to their original character representations.
    `static java.lang.String` | `encode(java.lang.String decodedURL)` Returns a string where all characters that are not valid for a complete URL have been escaped.
    `static java.lang.String` | `encodeComponent(java.lang.String decodedURLComponent)` Deprecated. Use `encodeQueryString(String)`
    `static java.lang.String` | `encodeComponent(java.lang.String decodedURLComponent, boolean queryStringSpaces)` Deprecated. Use `encodeQueryString(String)`, `encodePathSegment(String)`
    `static java.lang.String` | `encodePathSegment(java.lang.String decodedURLComponent)` Returns a string where all characters that are not valid for a URL component have been escaped.
    `static java.lang.String` | `encodeQueryString(java.lang.String decodedURLComponent)` Returns a string where all characters that are not valid for a URL component have been escaped.

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

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

- - ### Method Detail

    - #### decode

          public static java.lang.String decode(java.lang.String encodedURL)

      Returns a string where all URL escape sequences have been converted back to their original character representations.
      Parameters:
        `encodedURL` - string containing encoded URL encoded sequences
      Returns:
        string with no encoded URL encoded sequences
      Throws:
        `java.lang.NullPointerException` - if encodedURL is `null`

    - #### decodeComponent

          @Deprecated
          public static java.lang.String decodeComponent(java.lang.String encodedURLComponent)

      Deprecated. Use `decodeQueryString(String)`
      Returns a string where all URL component escape sequences have been converted back to their original character representations.

      Note: this method will convert the space character escape short form, '+', into a space. It should therefore only be used for query-string parts.

      Parameters:
        `encodedURLComponent` - string containing encoded URL component sequences
      Returns:
        string with no encoded URL component encoded sequences
      Throws:
        `java.lang.NullPointerException` - if encodedURLComponent is `null`

    - #### decodeComponent

          @Deprecated
          public static java.lang.String decodeComponent(java.lang.String encodedURLComponent,
                                                    boolean fromQueryString)

      Deprecated. Use `decodeQueryString(String)`, `decodePathSegment(String)`
      Returns a string where all URL component escape sequences have been converted back to their original character representations.
      Parameters:
        `encodedURLComponent` - string containing encoded URL component sequences
        `fromQueryString` - if `true`, +'s will be turned into spaces, otherwise they'll be kept as-is.
      Returns:
        string with no encoded URL component encoded sequences
      Throws:
        `java.lang.NullPointerException` - if encodedURLComponent is `null`

    - #### decodePathSegment

          public static java.lang.String decodePathSegment(java.lang.String encodedURLComponent)

      Returns a string where all URL component escape sequences have been converted back to their original character representations.
      Parameters:
        `encodedURLComponent` - string containing encoded URL component sequences
      Returns:
        string with no encoded URL component encoded sequences
      Throws:
        `java.lang.NullPointerException` - if encodedURLComponent is `null`

    - #### decodeQueryString

          public static java.lang.String decodeQueryString(java.lang.String encodedURLComponent)

      Returns a string where all URL component escape sequences have been converted back to their original character representations.

      Note: this method will convert the space character escape short form, '+', into a space. It should therefore only be used for query-string parts.

      Parameters:
        `encodedURLComponent` - string containing encoded URL component sequences
      Returns:
        string with no encoded URL component encoded sequences
      Throws:
        `java.lang.NullPointerException` - if encodedURLComponent is `null`

    - #### encode

          public static java.lang.String encode(java.lang.String decodedURL)

      Returns a string where all characters that are not valid for a complete URL have been escaped. The escaping of a character is done by converting it into its UTF-8 encoding and then encoding each of the resulting bytes as a %xx hexadecimal escape sequence.

      The following character sets are not escaped by this method:

      - ASCII digits or letters
      - ASCII punctuation characters:

             - _ . ! ~ * ' ( )

      - URL component delimiter characters:

             ; / ? : & = + $ , #

      Parameters:
        `decodedURL` - a string containing URL characters that may require encoding
      Returns:
        a string with all invalid URL characters escaped
      Throws:
        `java.lang.NullPointerException` - if decodedURL is `null`

    - #### encodeComponent

          @Deprecated
          public static java.lang.String encodeComponent(java.lang.String decodedURLComponent)

      Deprecated. Use `encodeQueryString(String)`
      Returns a string where all characters that are not valid for a URL component have been escaped. The escaping of a character is done by converting it into its UTF-8 encoding and then encoding each of the resulting bytes as a %xx hexadecimal escape sequence.

      Note: this method will convert any the space character into its escape short form, '+' rather than %20. It should therefore only be used for query-string parts.

      The following character sets are not escaped by this method:

      - ASCII digits or letters
      - ASCII punctuation characters:

            - _ . ! ~ * ' ( )

      Notice that this method does encode the URL component delimiter characters:

      >      ; / ? : & = + $ , #

      Parameters:
        `decodedURLComponent` - a string containing invalid URL characters
      Returns:
        a string with all invalid URL characters escaped
      Throws:
        `java.lang.NullPointerException` - if decodedURLComponent is `null`

    - #### encodeComponent

          @Deprecated
          public static java.lang.String encodeComponent(java.lang.String decodedURLComponent,
                                                    boolean queryStringSpaces)

      Deprecated. Use `encodeQueryString(String)`, `encodePathSegment(String)`
      Returns a string where all characters that are not valid for a URL component have been escaped. The escaping of a character is done by converting it into its UTF-8 encoding and then encoding each of the resulting bytes as a %xx hexadecimal escape sequence.

      The following character sets are not escaped by this method:

      - ASCII digits or letters
      + *
      - ASCII punctuation characters:

            - _ . ! ~ * ' ( )

      Notice that this method does encode the URL component delimiter characters:

      >      ; / ? : & = + $ , #

      Parameters:
        `decodedURLComponent` - a string containing invalid URL characters
        `queryStringSpaces` - if `true`, spaces will be encoded as +'s.
      Returns:
        a string with all invalid URL characters escaped
      Throws:
        `java.lang.NullPointerException` - if decodedURLComponent is `null`

    - #### encodePathSegment

          public static java.lang.String encodePathSegment(java.lang.String decodedURLComponent)

      Returns a string where all characters that are not valid for a URL component have been escaped. The escaping of a character is done by converting it into its UTF-8 encoding and then encoding each of the resulting bytes as a %xx hexadecimal escape sequence.

      The following character sets are not escaped by this method:

      - ASCII digits or letters
      - ASCII punctuation characters:

            - _ . ! ~ * ' ( )

      Notice that this method does encode the URL component delimiter characters:

      >      ; / ? : & = + $ , #

      Parameters:
        `decodedURLComponent` - a string containing invalid URL characters
      Returns:
        a string with all invalid URL characters escaped
      Throws:
        `java.lang.NullPointerException` - if decodedURLComponent is `null`

    - #### encodeQueryString

          public static java.lang.String encodeQueryString(java.lang.String decodedURLComponent)

      Returns a string where all characters that are not valid for a URL component have been escaped. The escaping of a character is done by converting it into its UTF-8 encoding and then encoding each of the resulting bytes as a %xx hexadecimal escape sequence.

      Note: this method will convert any the space character into its escape short form, '+' rather than %20. It should therefore only be used for query-string parts.

      The following character sets are not escaped by this method:

      - ASCII digits or letters
      - ASCII punctuation characters:

            - _ . ! ~ * ' ( )

      Notice that this method does encode the URL component delimiter characters:

      >      ; / ? : & = + $ , #

      Parameters:
        `decodedURLComponent` - a string containing invalid URL characters
      Returns:
        a string with all invalid URL characters escaped
      Throws:
        `java.lang.NullPointerException` - if decodedURLComponent is `null`