Class Uri
Character encoding is employed as defined by RFC 3986, see RFC 3986 section 2.1, while multibyte unicode characters are preserved in encoded parts.
1 [scheme:]scheme-specific-part[#fragment]
2 [scheme:][//authority]path[?query][#fragment]
3 [scheme:][//[user-info@]host[:port]]path[?query][#fragment]
scheme-specific-part: [//authority]path[?query]
authority: [user-info@]host[:port]
RFC 3986 section 2.2 Reserved Characters (January 2005)
! |
* |
' |
( |
) |
; |
: |
@ |
& |
= |
+ |
$ |
, |
/ |
? |
# |
[ |
] |
RFC 3986 section 2.3 Unreserved Characters (January 2005)
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
a |
b |
c |
d |
e |
f |
g |
h |
i |
j |
k |
l |
m |
n |
o |
p |
q |
r |
s |
t |
u |
v |
w |
x |
y |
z |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
- |
_ |
. |
~ |
Other characters in a Uri must be percent encoded.
- Since:
- 2.2.1
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classImmutable RFC3986 encoded string. -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal booleanIndicating whether this Uri is absolute, i.e.final Uri.EncodedEncodedauthoritypart ofscheme-specific-part,nullif undefined.static final StringValid charset for RFC 2396authority, additional to legalalphanumcharacters.static final String"file"static final StringValid charset for RFC 2396fragment, additional to legalalphanumcharacters.final Uri.EncodedEncodedfragment,nullif undefined.static final char'#'final booleanIndicating whetherauthoritypart is defined or not.final Uri.EncodedEncodedhostpart ofauthorityandscheme-specific-part,nullif undefined.static final String"http"static final String"https"final Uri.EncodedEncoded input string used at construction, nevernull.static final String"jar"static final charA JAR sub-protocol is separated from the JAR entry w/ this separator '!'.final booleanIndicating whether this Uri is opaque, i.e.final Uri.EncodedEncodedpathpart ofscheme-specific-part, nevernull.static final StringValid charset for RFC 2396path, additional to legalalphanumcharacters.final intEncodedportpart ofauthorityandscheme-specific-part,-1if undefined.final Uri.EncodedEncodedquerypart ofscheme-specific-part,nullif undefined.static final StringValid charset for RFC 2396query, additional to legalalphanumcharacters.static final char'?'static final StringRFC 3986 section 2.2 Reserved Characters (January 2005)static final Stringfinal Uri.EncodedEncodedscheme,nullif undefined.static final char':'final Uri.EncodedEncodedscheme-specific-part, nevernull.static final StringValid charset for RFC 2396scheme-specific-part, additional to legalalphanumcharacters.static final StringRFC 3986 section 2.3 Unreserved Characters (January 2005)final Uri.EncodedEncodeduserinfopart ofauthorityandscheme-specific-part,nullif undefined.static final StringValid charset for RFC 2396authority'suser-info, additional to legalalphanumcharacters. -
Constructor Summary
ConstructorsConstructorDescriptionUri(Uri.Encoded uri) Creates a new Uri instance according to the given encoded stringuri. -
Method Summary
Modifier and TypeMethodDescriptionstatic UriCasts the given encoded String to anew Encoded instanceused to create the resulting Uri instance viaUri(Encoded).final Uriconcat(Uri.Encoded suffix) Concatenates the given encoded string to theencoded uriof this instance and returnsa new Uri instancewith the result.static Uricreate(Uri.Encoded scheme, Uri.Encoded ssp, Uri.Encoded fragment) Creates a new Uri instance using the given encoded arguments.static Uricreate(Uri.Encoded scheme, Uri.Encoded userinfo, Uri.Encoded host, int port, Uri.Encoded path, Uri.Encoded query, Uri.Encoded fragment) Creates a new Uri instance using the given encoded arguments.static Uricreate(Uri.Encoded scheme, Uri.Encoded host, Uri.Encoded path, Uri.Encoded fragment) Creates a new Uri instance using the given encoded arguments.static Uricreate(Uri.Encoded scheme, Uri.Encoded authority, Uri.Encoded path, Uri.Encoded query, Uri.Encoded fragment) Creates a new Uri instance using the given encoded arguments.static UriCreates a new Uri instance using the given unencoded arguments.static Uricreate(String scheme, String userinfo, String host, int port, String path, String query, String fragment) Creates a new Uri instance using the given unencoded arguments.static UriCreates a new Uri instance using the given unencoded arguments.static UriCreates a new Uri instance using the given unencoded arguments.static Stringdecode(Uri.Encoded encoded) SafeUri.Encoded.decode()call on optionalencodedinstance.static StringDecodes the string argument which is assumed to be encoded in thex-www-form-urlencodedMIME content type using the UTF-8 encoding scheme.static StringAll characters are encoded into their hexadecimal value prepended by '%', except: letters ('a'..'z', 'A'..'Z') numbers ('0'..'9') characters in the legal-set parameter others (unicode characters that are not in US-ASCII set, and are not ISO Control or are not ISO Space characters)static StringencodeToASCIIString(String unicode) Other characters, which are Unicode chars that are not US-ASCII, and are not ISO Control or are not ISO Space chars are not preserved and encoded into their hexidecimal value prepended by '%'.final booleanfinal UriIf this instance'sschemeSpecificPartcontains a Uri itself, a sub-Uri, returnschemeSpecificPart+#fragmentvia it's own new Uri instance.Returns this Uri's directory Uri.final Uri.EncodedReturns the encodedinput, nevernull.final UrigetNewQuery(Uri.Encoded newQuery) Returns a new Uri instance w/ the given new querynewQuery.final Urifinal UriReturns this Uri's parent directory Uri..getRelativeOf(Uri.Encoded appendPath) Returns a new Uri appending the givenappendPathto this instance'sdirectory.final inthashCode()final booleanReturns true, if this instance is afilescheme, otherwise false.final booleanReturns true, if this instance is ajarscheme, otherwise false.Returns the encodedinputencoded in US-ASCII.final FiletoFile()If this instanceis a file scheme, implementation decodes [ "//"+authority] +path,
then it processes the result ifFile.separatorChar== '\\'as follows: slash -> backslash drop a starting single backslash, preserving windows UNC and returns the resulting newFileinstance.final StringtoString()final URItoURI()final URIReturns a newURIinstance based upon this instance.final URLtoURL()static UriCreates a new Uri instance using the given File instance.static UriCreates a new Uri instance using the given URI instance.static UriCreates a new Uri instance using the given URL instance, convenient wrapper forvalueOf(URI)andURL#toURI().static UrivalueOfFilepath(String path) Creates a new Uri instance using the given file-path argument.
-
Field Details
-
UNRESERVED
RFC 3986 section 2.3 Unreserved Characters (January 2005)"_-.~" +
alphanum- See Also:
-
RESERVED
RFC 3986 section 2.2 Reserved Characters (January 2005)",;:$&+=!*\'()@/?#[]" +
alphanum- See Also:
-
RESERVED_2
- See Also:
-
USERINFO_LEGAL
Valid charset for RFC 2396authority'suser-info, additional to legalalphanumcharacters."_-.~,;:$&+=" +
alphanum- See Also:
-
AUTHORITY_LEGAL
Valid charset for RFC 2396authority, additional to legalalphanumcharacters."@[]_-.~,;:$&+=" +
alphanum- See Also:
-
PATH_LEGAL
Valid charset for RFC 2396path, additional to legalalphanumcharacters."/!_-.~" +
alphanum- See Also:
-
QUERY_LEGAL
Valid charset for RFC 2396query, additional to legalalphanumcharacters."_-.~,;:$&+=!*\'()@/?[]\\\"" +
alphanum- See Also:
-
SSP_LEGAL
Valid charset for RFC 2396scheme-specific-part, additional to legalalphanumcharacters."_-.~,;:$&+=!*\'()@/?[]\\\"" +
alphanum- See Also:
-
FRAG_LEGAL
Valid charset for RFC 2396fragment, additional to legalalphanumcharacters."_-.~,;:$&+=!*\'()@/?#[]" +
alphanum- See Also:
-
SCHEME_SEPARATOR
public static final char SCHEME_SEPARATOR':'- See Also:
-
QUERY_SEPARATOR
public static final char QUERY_SEPARATOR'?'- See Also:
-
FRAGMENT_SEPARATOR
public static final char FRAGMENT_SEPARATOR'#'- See Also:
-
FILE_SCHEME
"file"- See Also:
-
HTTP_SCHEME
"http"- See Also:
-
HTTPS_SCHEME
"https"- See Also:
-
JAR_SCHEME
"jar"- See Also:
-
JAR_SCHEME_SEPARATOR
public static final char JAR_SCHEME_SEPARATORA JAR sub-protocol is separated from the JAR entry w/ this separator '!'. Even if no class is specified '!/' must follow!.- See Also:
-
input
Encoded input string used at construction, nevernull. -
scheme
Encodedscheme,nullif undefined. -
schemeSpecificPart
Encodedscheme-specific-part, nevernull. -
path
Encodedpathpart ofscheme-specific-part, nevernull. -
hasAuthority
public final boolean hasAuthorityIndicating whetherauthoritypart is defined or not. -
authority
Encodedauthoritypart ofscheme-specific-part,nullif undefined. -
userInfo
Encodeduserinfopart ofauthorityandscheme-specific-part,nullif undefined. -
host
Encodedhostpart ofauthorityandscheme-specific-part,nullif undefined. -
port
public final int portEncodedportpart ofauthorityandscheme-specific-part,-1if undefined. -
query
Encodedquerypart ofscheme-specific-part,nullif undefined. -
fragment
Encodedfragment,nullif undefined. -
absolute
public final boolean absoluteIndicating whether this Uri is absolute, i.e. has aschemeand hence an absolutescheme-specific-part. -
opaque
public final boolean opaqueIndicating whether this Uri is opaque, i.e. non-hierarchicalscheme-specific-part.An opaque Uri has no
scheme-specific-partbeing parsed, i.e.path,queryandauthorityarenull.
-
-
Constructor Details
-
Uri
Creates a new Uri instance according to the given encoded stringuri.- Parameters:
uri- the RFC3986 encoded RFC2396 Uri representation to be parsed into a Uri object- Throws:
URISyntaxException- if the given stringuridoesn't fit to the specification RFC2396 and RFC3986 or could not be parsed correctly.
-
-
Method Details
-
encode
All characters are encoded into their hexadecimal value prepended by '%', except:- letters ('a'..'z', 'A'..'Z')
- numbers ('0'..'9')
- characters in the legal-set parameter
- others (unicode characters that are not in US-ASCII set, and are not ISO Control or are not ISO Space characters)
Use
encodeToASCIIString(String)for US-ASCII encoding.Consider using
Encoded(String, String)in APIs to distinguish encoded from unencoded data by type.- Parameters:
vanilla- the string to be encodedlegal- extended character set, allowed to be preserved in the vanilla string- Returns:
- java.lang.String the converted string
-
encodeToASCIIString
Other characters, which are Unicode chars that are not US-ASCII, and are not ISO Control or are not ISO Space chars are not preserved and encoded into their hexidecimal value prepended by '%'.For example: Euro currency symbol -> "%E2%82%AC".
Consider using
ASCIIEncoded(String)in APIs to distinguish encoded from unencoded data by type.- Parameters:
unicode- string to be converted- Returns:
- java.lang.String the converted string
-
decode
SafeUri.Encoded.decode()call on optionalencodedinstance.- Parameters:
encoded-Uri.Encodedinstance to be decoded, may benull.- Returns:
- the
decodedString ornullifencodedwasnull.
-
decode
Decodes the string argument which is assumed to be encoded in thex-www-form-urlencodedMIME content type using the UTF-8 encoding scheme.'%' and two following hex digit characters are converted to the equivalent byte value. All other characters are passed through unmodified.
e.g. "A%20B%20C %24%25" -> "A B C $%"
- Parameters:
encoded- The encoded string.- Returns:
- java.lang.String The decoded version.
-
create
Creates a new Uri instance using the given unencoded arguments.This constructor first creates a temporary Uri string from the given unencoded components. This string will be parsed later on to create the Uri instance.
[scheme:]scheme-specific-part[#fragment]hostandportmay be undefined or invalid withinscheme-specific-part.- Parameters:
scheme- the unencoded scheme part of the Uri.ssp- the unencoded scheme-specific-part of the Uri.fragment- the unencoded fragment part of the Uri.- Throws:
URISyntaxException- if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.
-
create
public static Uri create(Uri.Encoded scheme, Uri.Encoded ssp, Uri.Encoded fragment) throws URISyntaxException Creates a new Uri instance using the given encoded arguments.This constructor first creates a temporary Uri string from the given encoded components. This string will be parsed later on to create the Uri instance.
The given encoded components are taken as-is, i.e. no re-encoding will be performed! However, Uri parsing will re-evaluate encoding of the resulting components.
[scheme:]scheme-specific-part[#fragment]hostandportmay be undefined or invalid withinscheme-specific-part.- Parameters:
scheme- the encoded scheme part of the Uri.ssp- the encoded scheme-specific-part of the Uri.fragment- the encoded fragment part of the Uri.- Throws:
URISyntaxException- if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.
-
create
public static Uri create(String scheme, String userinfo, String host, int port, String path, String query, String fragment) throws URISyntaxException Creates a new Uri instance using the given unencoded arguments.This constructor first creates a temporary Uri string from the given unencoded components. This string will be parsed later on to create the Uri instance.
[scheme:][user-info@]host[:port][path][?query][#fragment]hostandportmust be defined and valid, if anyauthoritycomponents are defined, i.e.user-info,hostorport.- Parameters:
scheme- the unencoded scheme part of the Uri.userinfo- the unencoded user information of the Uri for authentication and authorization,nullfor undefined.host- the unencoded host name of the Uri,nullfor undefined.port- the port number of the Uri, -1 for undefined.path- the unencoded path to the resource on the host.query- the unencoded query part of the Uri to specify parameters for the resource.fragment- the unencoded fragment part of the Uri.- Throws:
URISyntaxException- if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.
-
create
public static Uri create(Uri.Encoded scheme, Uri.Encoded userinfo, Uri.Encoded host, int port, Uri.Encoded path, Uri.Encoded query, Uri.Encoded fragment) throws URISyntaxException Creates a new Uri instance using the given encoded arguments.This constructor first creates a temporary Uri string from the given encoded components. This string will be parsed later on to create the Uri instance.
The given encoded components are taken as-is, i.e. no re-encoding will be performed! However, Uri parsing will re-evaluate encoding of the resulting components.
[scheme:][user-info@]host[:port][path][?query][#fragment]hostandportmust be defined and valid, if anyauthoritycomponents are defined, i.e.user-info,hostorport.- Parameters:
scheme- the encoded scheme part of the Uri.userinfo- the encoded user information of the Uri for authentication and authorization,nullfor undefined.host- the encoded host name of the Uri,nullfor undefined.port- the port number of the Uri, -1 for undefined.path- the encoded path to the resource on the host.query- the encoded query part of the Uri to specify parameters for the resource.fragment- the encoded fragment part of the Uri.- Throws:
URISyntaxException- if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.
-
create
public static Uri create(String scheme, String host, String path, String fragment) throws URISyntaxException Creates a new Uri instance using the given unencoded arguments.This constructor first creates a temporary Uri string from the given unencoded components. This string will be parsed later on to create the Uri instance.
[scheme:]host[path][#fragment]hostmust be valid, if defined.- Parameters:
scheme- the unencoded scheme part of the Uri.host- the unencoded host name of the Uri.path- the unencoded path to the resource on the host.fragment- the unencoded fragment part of the Uri.- Throws:
URISyntaxException- if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.
-
create
public static Uri create(Uri.Encoded scheme, Uri.Encoded host, Uri.Encoded path, Uri.Encoded fragment) throws URISyntaxException Creates a new Uri instance using the given encoded arguments.This constructor first creates a temporary Uri string from the given encoded components. This string will be parsed later on to create the Uri instance.
The given encoded components are taken as-is, i.e. no re-encoding will be performed! However, Uri parsing will re-evaluate encoding of the resulting components.
[scheme:]host[path][#fragment]hostmust be valid, if defined.- Parameters:
scheme- the encoded scheme part of the Uri.host- the encoded host name of the Uri.path- the encoded path to the resource on the host.fragment- the encoded fragment part of the Uri.- Throws:
URISyntaxException- if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.
-
create
public static Uri create(String scheme, String authority, String path, String query, String fragment) throws URISyntaxException Creates a new Uri instance using the given unencoded arguments.This constructor first creates a temporary Uri string from the given unencoded components. This string will be parsed later on to create the Uri instance.
[scheme:][//authority][path][?query][#fragment]hostandportmay be undefined or invalid, in the optionalauthority.- Parameters:
scheme- the unencoded scheme part of the Uri.authority- the unencoded authority part of the Uri.path- the unencoded path to the resource on the host.query- the unencoded query part of the Uri to specify parameters for the resource.fragment- the unencoded fragment part of the Uri.- Throws:
URISyntaxException- if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.
-
create
public static Uri create(Uri.Encoded scheme, Uri.Encoded authority, Uri.Encoded path, Uri.Encoded query, Uri.Encoded fragment) throws URISyntaxException Creates a new Uri instance using the given encoded arguments.This constructor first creates a temporary Uri string from the given encoded encoded components. This string will be parsed later on to create the Uri instance.
The given encoded components are taken as-is, i.e. no re-encoding will be performed! However, Uri parsing will re-evaluate encoding of the resulting components.
[scheme:][//authority][path][?query][#fragment]hostandportmay be undefined or invalid, in the optionalauthority.- Parameters:
scheme- the encoded scheme part of the Uri.authority- the encoded authority part of the Uri.path- the encoded path to the resource on the host.query- the encoded query part of the Uri to specify parameters for the resource.fragment- the encoded fragment part of the Uri.- Throws:
URISyntaxException- if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.
-
cast
Casts the given encoded String to anew Encoded instanceused to create the resulting Uri instance viaUri(Encoded).No encoding will be performed on the given
encodedUri, use with care.- Throws:
URISyntaxException
-
valueOfFilepath
Creates a new Uri instance using the given file-path argument.This constructor first creates a temporary Uri string from the given components. This string will be parsed later on to create the Uri instance.
file:path- Parameters:
path- the unencoded path of thefileschema.- Throws:
URISyntaxException- if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.
-
valueOf
Creates a new Uri instance using the given File instance.This constructor first creates a temporary Uri string from the given components. This string will be parsed later on to create the Uri instance.
file:path- Parameters:
file- usingslashifiedabsolute-pathfor the path of thefileschema, utilizingvalueOfFilepath(String).- Throws:
URISyntaxException- if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.
-
valueOf
Creates a new Uri instance using the given URI instance.Re-encoding will be performed if the given URI is
not opaque.See
PARSE_HINT_FIX_PATHfor issues of injecting opaque URLs.- Parameters:
uri- A given URI instance- Throws:
URISyntaxException- if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.
-
valueOf
Creates a new Uri instance using the given URL instance, convenient wrapper forvalueOf(URI)andURL#toURI().Re-encoding will be performed if the given URL is
not opaque, seevalueOf(URI).See
PARSE_HINT_FIX_PATHfor issues of injecting opaque URLs.- Parameters:
url- A given URL instance- Throws:
URISyntaxException- if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.
-
isFileScheme
public final boolean isFileScheme()Returns true, if this instance is afilescheme, otherwise false. -
isJarScheme
public final boolean isJarScheme()Returns true, if this instance is ajarscheme, otherwise false.- Since:
- 2.3.2
-
getEncoded
Returns the encodedinput, nevernull. -
toString
-
toASCIIString
Returns the encodedinputencoded in US-ASCII. -
toURI
Returns a newURIinstance using the encodedinputstring,new URI(uri.input), i.e. no re-encoding will be performed.- See Also:
-
#toURIReencoded(boolean)valueOf(URI)
-
toURIReencoded
Returns a newURIinstance based upon this instance.All Uri parts of this instance will be decoded and encoded by the URI constructor, i.e. re-encoding will be performed.
- Throws:
URISyntaxException- if the given stringuridoesn't fit to the specification RFC2396 or could not be parsed correctly.- See Also:
-
toURL
Returns a newURLinstance using the encodedinputstring,new URL(uri.input), i.e. no re-encoding will be performed.- Throws:
MalformedURLException- if an error occurs while creating the URL or no protocol handler could be found.
-
toFile
If this instanceis a file scheme, implementation decodes [ "//"+authority] +path,
then it processes the result ifFile.separatorChar== '\\'as follows:- slash -> backslash
- drop a starting single backslash, preserving windows UNC
Fileinstance.Otherwise implementation returns
null. -
getContainedUri
If this instance'sschemeSpecificPartcontains a Uri itself, a sub-Uri, returnschemeSpecificPart+#fragmentvia it's own new Uri instance.In case this Uri is a
jar-scheme, thequeryis omitted, since it shall be invalid forjar-schemesanyway.Otherwise method returns
null.Example 1: This instance:jar:scheme2:/some/path/gluegen-rt.jar!/com/jogamp/common/GlueGenVersion.classReturned Uri:scheme2:/some/path/gluegen-rt.jarExample 2: This instance:jar:scheme2:/some/path/gluegen-rt.jar!/com/jogamp/common/GlueGenVersion.class?lala=01#fragmentReturned Uri:scheme2:/some/path/gluegen-rt.jar#fragmentExample 3: This instance:scheme1:scheme2:/some/path/gluegen-rt.jar!/?lala=01#fragmentReturned Uri:scheme2:/some/path/gluegen-rt.jar?lala=01#fragment- Throws:
URISyntaxException- if this Uri is a container Uri and does not comply with the container spec, i.e. a JAR Uri
-
getNormalized
Normalizesthis Uri's path and return thenormalizedform if it differs, otherwisethisinstance.Example-1: This instance :jar:http://some/path/../gluegen-rt.jar!/com/Test.class?arg=1#fragNormalized :jar:http://some/gluegen-rt.jar!/com/Test.class?arg=1#fragExample-2: This instance :http://some/path/../gluegen-rt.jar?arg=1#fragNormalized :http://some/gluegen-rt.jar?arg=1#frag -
getDirectory
Returns this Uri's directory Uri.This Uri path will be
normalizedbefore returning the directory.If this Uri's directory cannot be found, or already denotes a directory, method returns
thisinstance.Example-1: this-uri: http:/some/path/gluegen-rt.jar?arg=1#frag result: http:/some/path/?arg=1#frag Example-2: this-uri: file:/some/path/ result: file:/some/path/ Example-3: this-uri: file:/some/path/lala/lili/../../hello.txt result: file:/some/path/- Throws:
URISyntaxException- if the new stringuridoesn't fit to the specification RFC2396 and RFC3986 or could not be parsed correctly.
-
getParent
Returns this Uri's parent directory Uri..This Uri path will be
normalizedbefore traversing up one directory.If a parent folder cannot be found, method returns
null.Example-1: This instance :jar:http://some/path/gluegen-rt.jar!/com/Test.class?arg=1#fragReturned Uri #1:jar:http://some/path/gluegen-rt.jar!/com/?arg=1#fragReturned Uri #2:jar:http://some/path/gluegen-rt.jar!/?arg=1#fragReturned Uri #3:nullExample-2: This instance :http://some/path/gluegen-rt.jar?arg=1#fragReturned Uri #1:http://some/path/?arg=1#fragReturned Uri #2:http://some/?arg=1#fragReturned Uri #2:nullExample-3: This instance :http://some/path/../gluegen-rt.jar?arg=1#fragReturned Uri #1:http://some/?arg=1#fragReturned Uri #2:null -
getRelativeOf
Returns a new Uri appending the givenappendPathto this instance'sdirectory.If
appendPathis empty, method behaves likegetNormalized().This resulting path will be
normalized.Example-1: append: null this-uri: http:/some/path/gluegen-rt.jar result: http:/some/path/gluegen-rt.jar Example-2: append: test.txt this-uri: file:/some/path/gluegen-rt.jar result: file:/some/path/test.txt Example-3: append: test.txt this-uri: file:/some/path/lala/lili/../../hello.txt result: file:/some/path/test.txt- Parameters:
appendPath- denotes a relative path to be appended to this Uri's directory- Throws:
URISyntaxException- if the resultinguridoesn't fit to the specification RFC2396 and RFC3986 or could not be parsed correctly.
-
concat
Concatenates the given encoded string to theencoded uriof this instance and returnsa new Uri instancewith the result.- Throws:
URISyntaxException- if the concatenated stringuridoesn't fit to the specification RFC2396 and RFC3986 or could not be parsed correctly.
-
getNewQuery
Returns a new Uri instance w/ the given new querynewQuery.- Throws:
URISyntaxException- if this Uri isopaqueor if the new stringuridoesn't fit to the specification RFC2396 and RFC3986 or could not be parsed correctly.
-
equals
Compares this Uri instance with the given argument
oand determines if both are equal. Two Uri instances are equal if all single parts are identical in their meaning. -
hashCode
public final int hashCode()Gets the hashcode value of this Uri instance.
-