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

All Methods Static Methods Concrete Methods Deprecated Methods
`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`