|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.jersey.api.uri.UriComponent
public class UriComponent
Utility class for validating, encoding and decoding components of a URI.
Nested Class Summary | |
---|---|
static class |
UriComponent.Type
The URI component type. |
Method Summary | |
---|---|
static java.lang.String |
contextualEncode(java.lang.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 java.lang.String |
contextualEncode(java.lang.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 java.lang.String |
decode(java.lang.String s,
UriComponent.Type t)
Decodes characters of a string that are percent-encoded octets using UTF-8 decoding (if needed). |
static MultivaluedMap<java.lang.String,java.lang.String> |
decodeMatrix(java.lang.String pathSegment,
boolean decode)
Decode the matrix component of a URI path segment. |
static java.util.List<PathSegment> |
decodePath(java.lang.String path,
boolean decode)
Decode the path component of a URI as path segments. |
static java.util.List<PathSegment> |
decodePath(java.net.URI u,
boolean decode)
Decode the path component of a URI as path segments. |
static void |
decodePathSegment(java.util.List<PathSegment> segments,
java.lang.String segment,
boolean decode)
Decode the path segment and add it to the list of path segments. |
static MultivaluedMap<java.lang.String,java.lang.String> |
decodeQuery(java.lang.String q,
boolean decode)
Decode the query component of a URI. |
static MultivaluedMap<java.lang.String,java.lang.String> |
decodeQuery(java.lang.String q,
boolean decodeNames,
boolean decodeValues)
Decode the query component of a URI. |
static MultivaluedMap<java.lang.String,java.lang.String> |
decodeQuery(java.net.URI u,
boolean decode)
Decode the query component of a URI. |
static java.lang.String |
encode(java.lang.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 java.lang.String |
encode(java.lang.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 java.lang.String |
encodeTemplateNames(java.lang.String s)
Encodes a string with template parameters names present, specifically the characters '{' and '}' will be percent-encoded. |
static boolean |
isHexCharacter(char c)
Checks whether the character c is hexadecimal character. |
static boolean |
valid(java.lang.String s,
UriComponent.Type t)
Validates the legal characters of a percent-encoded string that represents a URI component type. |
static boolean |
valid(java.lang.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(java.lang.String s,
UriComponent.Type t)
Validates the legal characters of a percent-encoded string that represents a URI component type. |
static void |
validate(java.lang.String s,
UriComponent.Type t,
boolean template)
Validates the legal characters of a percent-encoded string that represents a URI component type. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static void validate(java.lang.String s, UriComponent.Type t)
s
- the encoded string.t
- the URI component type identifying the legal characters.
java.lang.IllegalArgumentException
- if the encoded string contains illegal
characters.public static void validate(java.lang.String s, UriComponent.Type t, boolean template)
s
- the encoded string.t
- the URI component type identifying the legal characters.template
- true if the encoded string contains URI template variables
java.lang.IllegalArgumentException
- if the encoded string contains illegal
characters.public static boolean valid(java.lang.String s, UriComponent.Type t)
s
- the encoded string.t
- the URI component type identifying the legal characters.
public static boolean valid(java.lang.String s, UriComponent.Type t, boolean template)
s
- the encoded string.t
- the URI component type identifying the legal characters.template
- true if the encoded string contains URI template variables
public static java.lang.String contextualEncode(java.lang.String s, UriComponent.Type t)
s
- the string to be encoded.t
- the URI component type identifying the ASCII characters that
must be percent-encoded.
public static java.lang.String contextualEncode(java.lang.String s, UriComponent.Type t, boolean template)
s
- the string to be encoded.t
- the URI component type identifying the ASCII characters that
must be percent-encoded.template
- true if the encoded string contains URI template variables
public static java.lang.String encode(java.lang.String s, UriComponent.Type t)
s
- the string to be encoded.t
- the URI component type identifying the ASCII characters that
must be percent-encoded.
public static java.lang.String encode(java.lang.String s, UriComponent.Type t, boolean template)
s
- the string to be encoded.t
- the URI component type identifying the ASCII characters that
must be percent-encoded.template
- true if the encoded string contains URI template variables
public static java.lang.String encodeTemplateNames(java.lang.String s)
s
- the string with zero or more template parameters names
public static java.lang.String decode(java.lang.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.
java.lang.IllegalArgumentException
- if a malformed percent-encoded octet is
detectedpublic static MultivaluedMap<java.lang.String,java.lang.String> decodeQuery(java.net.URI u, boolean decode)
Query parameter names in the returned map are always decoded. Decoding of query parameter
values can be controlled using the decode
parameter flag.
u
- the URI.decode
- true
if the returned query parameter values of the query component
should be in decoded form.
public static MultivaluedMap<java.lang.String,java.lang.String> decodeQuery(java.lang.String q, boolean decode)
Query parameter names in the returned map are always decoded. Decoding of query parameter
values can be controlled using the decode
parameter flag.
q
- the query component in encoded form.decode
- true
if the returned query parameter values of the query component
should be in decoded form.
public static MultivaluedMap<java.lang.String,java.lang.String> decodeQuery(java.lang.String q, boolean decodeNames, boolean decodeValues)
Decoding of query parameter names and values can be controlled using the decodeNames
and decodeValues
parameter flags.
q
- the query component in encoded form.decodeNames
- true
if the returned query parameter names of the query component
should be in decoded form.decodeValues
- true
if the returned query parameter values of the query component
should be in decoded form.
public static java.util.List<PathSegment> decodePath(java.net.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 java.util.List<PathSegment> decodePath(java.lang.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(java.util.List<PathSegment> segments, java.lang.String segment, boolean decode)
segments
- mutable list of path segments.segment
- path segment to be decoded.decode
- true
if the path segment should be in a decoded form.public static MultivaluedMap<java.lang.String,java.lang.String> decodeMatrix(java.lang.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.
public static boolean isHexCharacter(char c)
c
is hexadecimal character.
c
- Any character
c
is a hexadecimal character (e.g. 0, 5, a, A, f, ...)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |