public class UriComponent extends Object
Modifier and Type | Class and Description |
---|---|
static class |
UriComponent.Type
The URI component type.
|
Modifier and Type | Method and Description |
---|---|
static String |
contextualEncode(String s,
UriComponent.Type t)
Contextually encodes the characters of string that are either non-ASCII
characters or are ASCII characters that must be percent-encoded using the
UTF-8 encoding.
|
static String |
contextualEncode(String s,
UriComponent.Type t,
boolean template)
Contextually encodes the characters of string that are either non-ASCII
characters or are ASCII characters that must be percent-encoded using the
UTF-8 encoding.
|
static String |
decode(String s,
UriComponent.Type t)
Decodes characters of a string that are percent-encoded octets using
UTF-8 decoding (if needed).
|
static Map<String,String> |
decodeMatrix(String pathSegment,
boolean decode)
Decode the matrix component of a URI path segment.
|
static List<org.atmosphere.util.uri.UriComponent.PathSegmentImpl> |
decodePath(String path,
boolean decode)
Decode the path component of a URI as path segments.
|
static List<org.atmosphere.util.uri.UriComponent.PathSegmentImpl> |
decodePath(URI u,
boolean decode)
Decode the path component of a URI as path segments.
|
static void |
decodePathSegment(List<org.atmosphere.util.uri.UriComponent.PathSegmentImpl> segments,
String segment,
boolean decode) |
static Map<String,String> |
decodeQuery(String q,
boolean decode)
Decode the query component of a URI.
|
static Map<String,String> |
decodeQuery(URI u,
boolean decode)
Decode the query component of a URI.
|
static String |
encode(String s,
UriComponent.Type t)
Encodes the characters of string that are either non-ASCII characters
or are ASCII characters that must be percent-encoded using the
UTF-8 encoding.
|
static String |
encode(String s,
UriComponent.Type t,
boolean template)
Encodes the characters of string that are either non-ASCII characters
or are ASCII characters that must be percent-encoded using the
UTF-8 encoding.
|
static String |
encodeTemplateNames(String s)
Encodes a string with template parameters names present, specifically the
characters '{' and '}' will be percent-encoded.
|
static boolean |
valid(String s,
UriComponent.Type t)
Validates the legal characters of a percent-encoded string that
represents a URI component type.
|
static boolean |
valid(String s,
UriComponent.Type t,
boolean template)
Validates the legal characters of a percent-encoded string that
represents a URI component type.
|
static void |
validate(String s,
UriComponent.Type t)
Validates the legal characters of a percent-encoded string that
represents a URI component type.
|
static void |
validate(String s,
UriComponent.Type t,
boolean template)
Validates the legal characters of a percent-encoded string that
represents a URI component type.
|
public static void validate(String s, UriComponent.Type t)
s
- the encoded string.t
- the URI compontent type identifying the legal characters.IllegalArgumentException
- if the encoded string contains illegal
characters.public static void validate(String s, UriComponent.Type t, boolean template)
s
- the encoded string.t
- the URI compontent type identifying the legal characters.template
- true if the encoded string contains URI template variablesIllegalArgumentException
- if the encoded string contains illegal
characters.public static boolean valid(String s, UriComponent.Type t)
s
- the encoded string.t
- the URI compontent type identifying the legal characters.public static boolean valid(String s, UriComponent.Type t, boolean template)
s
- the encoded string.t
- the URI compontent type identifying the legal characters.template
- true if the encoded string contains URI template variablespublic static String contextualEncode(String s, UriComponent.Type t)
s
- the string to be encoded.t
- the URI compontent type identifying the ASCII characters that
must be percent-encoded.public static String contextualEncode(String s, UriComponent.Type t, boolean template)
s
- the string to be encoded.t
- the URI compontent type identifying the ASCII characters that
must be percent-encoded.template
- true if the encoded string contains URI template variablespublic static String encode(String s, UriComponent.Type t)
s
- the string to be encoded.t
- the URI compontent type identifying the ASCII characters that
must be percent-encoded.public static String encode(String s, UriComponent.Type t, boolean template)
s
- the string to be encoded.t
- the URI compontent type identifying the ASCII characters that
must be percent-encoded.template
- true if the encoded string contains URI template variablespublic static String encodeTemplateNames(String s)
s
- the string with zero or more template parameters namespublic static String decode(String s, UriComponent.Type t)
It is assumed that the string is valid according to an (unspecified) URI component type. If a sequence of contiguous percent-encoded octets is not a valid UTF-8 character then the octets are replaced with '�'.
If the URI component is of type HOST then any "%" found between "[]" is left alone. It is an IPv6 literal with a scope_id.
If the URI component is of type QUERY_PARAM then any "+" is decoded as as ' '.
s
- the string to be decoded.t
- the URI component type, may be null.IllegalArgumentException
- if a malformed percent-encoded octet is
detectedpublic static Map<String,String> decodeQuery(URI u, boolean decode)
u
- the URI.decode
- true if the query parameters of the query component
should be in decoded form.public static Map<String,String> decodeQuery(String q, boolean decode)
q
- the query component in encoded form.decode
- true of the query parameters of the query component
should be in decoded form.public static List<org.atmosphere.util.uri.UriComponent.PathSegmentImpl> decodePath(URI u, boolean decode)
u
- the URI. If the path component is an absolute path component
then the leading '/' is ignored and is not considered a delimiator
of a path segment.decode
- true if the path segments of the path component
should be in decoded form.public static List<org.atmosphere.util.uri.UriComponent.PathSegmentImpl> decodePath(String path, boolean decode)
Any '/' character in the path is considered to be a deliminator between two path segments. Thus if the path is '/' then the path segment list will contain two empty path segments. If the path is "//" then the path segment list will contain three empty path segments. If the path is "/a/" the path segment list will consist of the following path segments in order: "", "a" and "".
path
- the path component in encoded form.decode
- true if the path segments of the path component
should be in decoded form.public static void decodePathSegment(List<org.atmosphere.util.uri.UriComponent.PathSegmentImpl> segments, String segment, boolean decode)
public static Map<String,String> decodeMatrix(String pathSegment, boolean decode)
pathSegment
- the path segment component in encoded form.decode
- true if the matrix parameters of the path segment component
should be in decoded form.Copyright © 2016. All rights reserved.