public class URIUtil
extends java.lang.Object
implements java.lang.Cloneable
This class assists with the decoding and encoding or HTTP URI's. It differs from the java.net.URL class as it does not provide communications ability, but it does assist with query string formatting.
UrlEncoded
Modifier and Type | Field and Description |
---|---|
static java.nio.charset.Charset |
__CHARSET |
static java.lang.String |
HTTP |
static java.lang.String |
HTTPS |
static java.lang.String |
SLASH |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
addEncodedPaths(java.lang.String p1,
java.lang.String p2)
Add two encoded URI path segments.
|
static java.net.URI |
addPath(java.net.URI uri,
java.lang.String path) |
static java.lang.String |
addPaths(java.lang.String p1,
java.lang.String p2)
Add two Decoded URI path segments.
|
static void |
appendSchemeHostPort(java.lang.StringBuffer url,
java.lang.String scheme,
java.lang.String server,
int port)
Append scheme, host and port URI prefix, handling IPv6 address encoding and default ports
|
static void |
appendSchemeHostPort(java.lang.StringBuilder url,
java.lang.String scheme,
java.lang.String server,
int port)
Append scheme, host and port URI prefix, handling IPv6 address encoding and default ports
|
static java.lang.String |
canonicalEncodedPath(java.lang.String path)
Convert a path to a cananonical form.
|
static java.lang.String |
canonicalPath(java.lang.String path)
Convert a decoded path to a canonical form.
|
static java.lang.String |
compactPath(java.lang.String path)
Convert a path to a compact form.
|
static java.lang.String |
decodePath(java.lang.String path) |
static java.lang.String |
decodePath(java.lang.String path,
int offset,
int length) |
static java.lang.String |
decodeSpecific(java.lang.String str,
java.lang.String charsToDecode)
Decode a raw String and convert any specific URI encoded sequences into characters.
|
static java.lang.String |
encodePath(java.lang.String path)
Encode a URI path.
|
static java.lang.StringBuilder |
encodePath(java.lang.StringBuilder buf,
java.lang.String path)
Encode a URI path.
|
static java.lang.String |
encodeSpaces(java.lang.String str)
Encode a raw URI String and convert any raw spaces to
their "%20" equivalent.
|
static java.lang.String |
encodeSpecific(java.lang.String str,
java.lang.String charsToEncode)
Encode a raw String and convert any specific characters to their URI encoded equivalent.
|
static java.lang.StringBuilder |
encodeString(java.lang.StringBuilder buf,
java.lang.String path,
java.lang.String encode)
Encode a URI path.
|
static boolean |
equalsIgnoreEncodings(java.lang.String uriA,
java.lang.String uriB) |
static boolean |
equalsIgnoreEncodings(java.net.URI uriA,
java.net.URI uriB) |
static java.lang.String |
getJarSource(java.lang.String uri) |
static java.net.URI |
getJarSource(java.net.URI uri) |
static java.lang.String |
getUriLastPathSegment(java.net.URI uri)
Given a URI, attempt to get the last segment.
|
static boolean |
hasScheme(java.lang.String uri) |
static java.lang.String |
newURI(java.lang.String scheme,
java.lang.String server,
int port,
java.lang.String path,
java.lang.String query)
Create a new URI from the arguments, handling IPv6 host encoding and default ports
|
static java.lang.StringBuilder |
newURIBuilder(java.lang.String scheme,
java.lang.String server,
int port)
Create a new URI StringBuilder from the arguments, handling IPv6 host encoding and default ports
|
static java.lang.String |
parentPath(java.lang.String p)
Return the parent Path.
|
public static final java.lang.String SLASH
public static final java.lang.String HTTP
public static final java.lang.String HTTPS
public static final java.nio.charset.Charset __CHARSET
public static java.lang.String encodePath(java.lang.String path)
path
- The path the encodepublic static java.lang.StringBuilder encodePath(java.lang.StringBuilder buf, java.lang.String path)
path
- The path the encodebuf
- StringBuilder to encode path into (or null)public static java.lang.String encodeSpaces(java.lang.String str)
str
- input raw stringpublic static java.lang.String encodeSpecific(java.lang.String str, java.lang.String charsToEncode)
str
- input raw stringcharsToEncode
- the list of raw characters that need to be encoded (if encountered)public static java.lang.String decodeSpecific(java.lang.String str, java.lang.String charsToDecode)
str
- input raw stringcharsToDecode
- the list of raw characters that need to be decoded (if encountered), leaving all other encoded sequences alone.public static java.lang.StringBuilder encodeString(java.lang.StringBuilder buf, java.lang.String path, java.lang.String encode)
path
- The path the encodebuf
- StringBuilder to encode path into (or null)encode
- String of characters to encode. % is always encoded.public static java.lang.String decodePath(java.lang.String path)
public static java.lang.String decodePath(java.lang.String path, int offset, int length)
public static java.lang.String addEncodedPaths(java.lang.String p1, java.lang.String p2)
p1
- URI path segment (should be encoded)p2
- URI path segment (should be encoded)public static java.lang.String addPaths(java.lang.String p1, java.lang.String p2)
p1
- URI path segment (should be decoded)p2
- URI path segment (should be decoded)public static java.lang.String getUriLastPathSegment(java.net.URI uri)
If this is a jar:file://
style URI, then
the JAR filename is returned (not the deep !/path
location)
uri
- the URI to look inpublic static java.lang.String parentPath(java.lang.String p)
p
- the path to return a parent reference topublic static java.lang.String canonicalPath(java.lang.String path)
All instances of "." and ".." are factored out.
Null is returned if the path tries to .. above its root.
path
- the path to convert, decoded, with path separators '/' and no queries.public static java.lang.String canonicalEncodedPath(java.lang.String path)
All instances of "." and ".." are factored out.
Null is returned if the path tries to .. above its root.
path
- the path to convert (expects URI/URL form, encoded, and with path separators '/')public static java.lang.String compactPath(java.lang.String path)
path
- the path to compactpublic static boolean hasScheme(java.lang.String uri)
uri
- URIpublic static java.lang.String newURI(java.lang.String scheme, java.lang.String server, int port, java.lang.String path, java.lang.String query)
scheme
- the URI schemeserver
- the URI serverport
- the URI portpath
- the URI pathquery
- the URI querypublic static java.lang.StringBuilder newURIBuilder(java.lang.String scheme, java.lang.String server, int port)
scheme
- the URI schemeserver
- the URI serverport
- the URI portpublic static void appendSchemeHostPort(java.lang.StringBuilder url, java.lang.String scheme, java.lang.String server, int port)
url
- StringBuilder to append toscheme
- the URI schemeserver
- the URI serverport
- the URI portpublic static void appendSchemeHostPort(java.lang.StringBuffer url, java.lang.String scheme, java.lang.String server, int port)
url
- StringBuffer to append toscheme
- the URI schemeserver
- the URI serverport
- the URI portpublic static boolean equalsIgnoreEncodings(java.lang.String uriA, java.lang.String uriB)
public static boolean equalsIgnoreEncodings(java.net.URI uriA, java.net.URI uriB)
public static java.net.URI addPath(java.net.URI uri, java.lang.String path)
uri
- A URI to add the path topath
- A decoded path elementpublic static java.net.URI getJarSource(java.net.URI uri)
public static java.lang.String getJarSource(java.lang.String uri)
Copyright © 1995–2019 Webtide. All rights reserved.