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 javax.ws.rs.core.MultivaluedMap<String,String> |
decodeMatrix(String pathSegment,
boolean decode)
Decode the matrix component of a URI path segment.
|
static List<javax.ws.rs.core.PathSegment> |
decodePath(String path,
boolean decode)
Decode the path component of a URI as path segments.
|
static List<javax.ws.rs.core.PathSegment> |
decodePath(URI u,
boolean decode)
Decode the path component of a URI as path segments.
|
static void |
decodePathSegment(List<javax.ws.rs.core.PathSegment> segments,
String segment,
boolean decode)
Decode the path segment and add it to the list of path segments.
|
static javax.ws.rs.core.MultivaluedMap<String,String> |
decodeQuery(String q,
boolean decode)
Decode the query component of a URI.
|
static javax.ws.rs.core.MultivaluedMap<String,String> |
decodeQuery(String q,
boolean decodeNames,
boolean decodeValues)
Decode the query component of a URI.
|
static javax.ws.rs.core.MultivaluedMap<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 String |
fullRelativeUri(URI uri)
Return the
Request-Uri representation as defined by HTTP spec. |
static boolean |
isHexCharacter(char c)
Checks whether the character
c is hexadecimal character. |
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 component 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 component 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 component type identifying the legal characters.public static boolean valid(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 variablespublic static String contextualEncode(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 String contextualEncode(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 variablespublic static String encode(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 String encode(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 variablespublic static String encodeTemplateNames(String s)
s
- the string with zero or more template parameters namespublic static String decode(String s, UriComponent.Type t)
s
- the string to be decoded.t
- the URI component type, may be null.IllegalArgumentException
- if a malformed percent-encoded octet is
detectedpublic static javax.ws.rs.core.MultivaluedMap<String,String> decodeQuery(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 javax.ws.rs.core.MultivaluedMap<String,String> decodeQuery(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 javax.ws.rs.core.MultivaluedMap<String,String> decodeQuery(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 List<javax.ws.rs.core.PathSegment> 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<javax.ws.rs.core.PathSegment> 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<javax.ws.rs.core.PathSegment> segments, 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 javax.ws.rs.core.MultivaluedMap<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.public static boolean isHexCharacter(char c)
c
is hexadecimal character.c
- Any characterc
is a hexadecimal character (e.g. 0, 5, a, A, f, ...)public static String fullRelativeUri(URI uri)
Request-Uri
representation as defined by HTTP spec. For example:
<Method> <Request-URI> HTTP/<Version> (e.g. GET /auth;foo=bar/hello?foo=bar HTTP/1.1)
uri
- uri to obtain Request-Uri
from.Request-Uri
representation or null
if uri
is not provided.Copyright © 2007-2021, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.