public final class Uris extends Object
Modifier and Type | Field | Description |
---|---|---|
static String |
INVALID_SCHEME |
URI Scheme used when relaxed parsing is enabled and the given input stream lead to an invalid URI.
|
Modifier and Type | Method | Description |
---|---|---|
static URI |
create(String s) |
Attempts to create a URI instance and will optionally swallow any resulting URISyntaxException depending on
configured
CompatibilityHints . |
static String |
decode(String s) |
Decodes the specified URI string using the UTF-8 charset.
|
static String |
encode(String s) |
Encodes the specified URI string using the UTF-8 charset.
|
public static final String INVALID_SCHEME
public static String encode(String s)
s
- a URI stringpublic static String decode(String s)
s
- a URI stringpublic static URI create(String s) throws URISyntaxException
CompatibilityHints
. Will also automatically attempt encoding of the string representation for
greater compatibility.
When relaxed parsing is enabled and if the string representation is not valid, a second URI creation attempt is made by extracting the scheme from the scheme specific part and URI encoding that later part. For example, "mailto: joe smith@example.com" becomes "mailto:joe%20smith@example.com".
If the second attempts also leads to a URISyntaxException
, an opaque URI is constructed with a scheme
of Uris.INVALID_SCHEME
and a value corresponding to the initial representation.
s
- a string representation of a URI.URISyntaxException
- if a valid URI string is not specified and relaxed parsing is disabled