|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.web.util.UriUtils
public abstract class UriUtils
Utility class for URI encoding and decoding based on RFC 3986. Offers encoding methods for the various URI components.
All encode*(String, String
methods in this class operate in a similar way:
%xy
" format.
Field Summary | |
---|---|
private static java.util.BitSet |
FRAGMENT
|
private static java.util.BitSet |
HOST
|
private static java.lang.String |
HOST_PATTERN
|
private static java.lang.String |
HTTP_PATTERN
|
private static java.util.regex.Pattern |
HTTP_URL_PATTERN
|
private static java.lang.String |
LAST_PATTERN
|
private static java.util.BitSet |
PATH
|
private static java.lang.String |
PATH_PATTERN
|
private static java.util.BitSet |
PORT
|
private static java.lang.String |
PORT_PATTERN
|
private static java.util.BitSet |
QUERY
|
private static java.util.BitSet |
QUERY_PARAM
|
private static java.lang.String |
QUERY_PATTERN
|
private static java.util.BitSet |
SCHEME
|
private static java.lang.String |
SCHEME_PATTERN
|
private static java.util.BitSet |
SEGMENT
|
private static java.util.regex.Pattern |
URI_PATTERN
|
private static java.util.BitSet |
USER_INFO
|
private static java.lang.String |
USERINFO_PATTERN
|
Constructor Summary | |
---|---|
UriUtils()
|
Method Summary | |
---|---|
static java.lang.String |
decode(java.lang.String source,
java.lang.String encoding)
Decodes the given encoded source String into an URI. |
private static byte[] |
encode(byte[] source,
java.util.BitSet notEncoded)
|
private static java.lang.String |
encode(java.lang.String source,
java.lang.String encoding,
java.util.BitSet notEncoded)
|
static java.lang.String |
encodeFragment(java.lang.String fragment,
java.lang.String encoding)
Encodes the given URI fragment. |
static java.lang.String |
encodeHost(java.lang.String host,
java.lang.String encoding)
Encodes the given URI host. |
static java.lang.String |
encodeHttpUrl(java.lang.String httpUrl,
java.lang.String encoding)
Encodes the given HTTP URI into an encoded String. |
static java.lang.String |
encodePath(java.lang.String path,
java.lang.String encoding)
Encodes the given URI path. |
static java.lang.String |
encodePathSegment(java.lang.String segment,
java.lang.String encoding)
Encodes the given URI path segment. |
static java.lang.String |
encodePort(java.lang.String port,
java.lang.String encoding)
Encodes the given URI port. |
static java.lang.String |
encodeQuery(java.lang.String query,
java.lang.String encoding)
Encodes the given URI query. |
static java.lang.String |
encodeQueryParam(java.lang.String queryParam,
java.lang.String encoding)
Encodes the given URI query parameter. |
static java.lang.String |
encodeScheme(java.lang.String scheme,
java.lang.String encoding)
Encodes the given URI scheme. |
static java.lang.String |
encodeUri(java.lang.String uri,
java.lang.String encoding)
Encodes the given source URI into an encoded String. |
static java.lang.String |
encodeUriComponents(java.lang.String scheme,
java.lang.String authority,
java.lang.String userinfo,
java.lang.String host,
java.lang.String port,
java.lang.String path,
java.lang.String query,
java.lang.String fragment,
java.lang.String encoding)
Encodes the given source URI components into an encoded String. |
static java.lang.String |
encodeUserInfo(java.lang.String userInfo,
java.lang.String encoding)
Encodes the given URI user info. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final java.util.BitSet SCHEME
private static final java.util.BitSet USER_INFO
private static final java.util.BitSet HOST
private static final java.util.BitSet PORT
private static final java.util.BitSet PATH
private static final java.util.BitSet SEGMENT
private static final java.util.BitSet QUERY
private static final java.util.BitSet QUERY_PARAM
private static final java.util.BitSet FRAGMENT
private static final java.lang.String SCHEME_PATTERN
private static final java.lang.String HTTP_PATTERN
private static final java.lang.String USERINFO_PATTERN
private static final java.lang.String HOST_PATTERN
private static final java.lang.String PORT_PATTERN
private static final java.lang.String PATH_PATTERN
private static final java.lang.String QUERY_PATTERN
private static final java.lang.String LAST_PATTERN
private static final java.util.regex.Pattern URI_PATTERN
private static final java.util.regex.Pattern HTTP_URL_PATTERN
Constructor Detail |
---|
public UriUtils()
Method Detail |
---|
public static java.lang.String encodeUri(java.lang.String uri, java.lang.String encoding) throws java.io.UnsupportedEncodingException
uri
- the URI to be encodedencoding
- the character encoding to encode to
java.lang.IllegalArgumentException
- when the given uri parameter is not a valid URI
java.io.UnsupportedEncodingException
- when the given encoding parameter is not supportedpublic static java.lang.String encodeHttpUrl(java.lang.String httpUrl, java.lang.String encoding) throws java.io.UnsupportedEncodingException
Note that this method does not support fragments (#
),
as these are not supposed to be sent to the server, but retained by the client.
httpUrl
- the HTTP URL to be encodedencoding
- the character encoding to encode to
java.lang.IllegalArgumentException
- when the given uri parameter is not a valid URI
java.io.UnsupportedEncodingException
- when the given encoding parameter is not supportedpublic static java.lang.String encodeUriComponents(java.lang.String scheme, java.lang.String authority, java.lang.String userinfo, java.lang.String host, java.lang.String port, java.lang.String path, java.lang.String query, java.lang.String fragment, java.lang.String encoding) throws java.io.UnsupportedEncodingException
scheme
- the schemeauthority
- the authorityuserinfo
- the user infohost
- the hostport
- the portpath
- the pathquery
- the queryfragment
- the fragmentencoding
- the character encoding to encode to
java.lang.IllegalArgumentException
- when the given uri parameter is not a valid URI
java.io.UnsupportedEncodingException
- when the given encoding parameter is not supportedpublic static java.lang.String encodeScheme(java.lang.String scheme, java.lang.String encoding) throws java.io.UnsupportedEncodingException
scheme
- the scheme to be encodedencoding
- the character encoding to encode to
java.io.UnsupportedEncodingException
- when the given encoding parameter is not supportedpublic static java.lang.String encodeUserInfo(java.lang.String userInfo, java.lang.String encoding) throws java.io.UnsupportedEncodingException
userInfo
- the user info to be encodedencoding
- the character encoding to encode to
java.io.UnsupportedEncodingException
- when the given encoding parameter is not supportedpublic static java.lang.String encodeHost(java.lang.String host, java.lang.String encoding) throws java.io.UnsupportedEncodingException
host
- the host to be encodedencoding
- the character encoding to encode to
java.io.UnsupportedEncodingException
- when the given encoding parameter is not supportedpublic static java.lang.String encodePort(java.lang.String port, java.lang.String encoding) throws java.io.UnsupportedEncodingException
port
- the port to be encodedencoding
- the character encoding to encode to
java.io.UnsupportedEncodingException
- when the given encoding parameter is not supportedpublic static java.lang.String encodePath(java.lang.String path, java.lang.String encoding) throws java.io.UnsupportedEncodingException
path
- the path to be encodedencoding
- the character encoding to encode to
java.io.UnsupportedEncodingException
- when the given encoding parameter is not supportedpublic static java.lang.String encodePathSegment(java.lang.String segment, java.lang.String encoding) throws java.io.UnsupportedEncodingException
segment
- the segment to be encodedencoding
- the character encoding to encode to
java.io.UnsupportedEncodingException
- when the given encoding parameter is not supportedpublic static java.lang.String encodeQuery(java.lang.String query, java.lang.String encoding) throws java.io.UnsupportedEncodingException
query
- the query to be encodedencoding
- the character encoding to encode to
java.io.UnsupportedEncodingException
- when the given encoding parameter is not supportedpublic static java.lang.String encodeQueryParam(java.lang.String queryParam, java.lang.String encoding) throws java.io.UnsupportedEncodingException
queryParam
- the query parameter to be encodedencoding
- the character encoding to encode to
java.io.UnsupportedEncodingException
- when the given encoding parameter is not supportedpublic static java.lang.String encodeFragment(java.lang.String fragment, java.lang.String encoding) throws java.io.UnsupportedEncodingException
fragment
- the fragment to be encodedencoding
- the character encoding to encode to
java.io.UnsupportedEncodingException
- when the given encoding parameter is not supportedprivate static java.lang.String encode(java.lang.String source, java.lang.String encoding, java.util.BitSet notEncoded) throws java.io.UnsupportedEncodingException
java.io.UnsupportedEncodingException
private static byte[] encode(byte[] source, java.util.BitSet notEncoded)
public static java.lang.String decode(java.lang.String source, java.lang.String encoding) throws java.io.UnsupportedEncodingException
"a"
through "z"
,
"A"
through "Z"
, and "0"
through "9"
stay the same.
"-"
, "_"
, "."
, and
"*"
stay the same.
%xy
format.
%xy
" is interpreted as a hexadecimal
representation of the character.
source
- the source stringencoding
- the encoding
java.io.UnsupportedEncodingException
- when the given encoding parameter is not supportedURLDecoder.decode(String, String)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |