GlueGen: com.jogamp.common.net.Uri Class Reference

GlueGen v2.6.0 GlueGen, Native Binding Generator for Java™ (public API).

Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
com.jogamp.common.net.Uri Class Reference

This class implements an immutable Uri as defined by RFC 2396. More...

Collaboration diagram for com.jogamp.common.net.Uri:

## Classes

class | ASCIIEncoded
class | Encoded
| Immutable RFC3986 encoded string. More...

## Public Member Functions

| Uri (final Encoded uri) throws URISyntaxException
| Creates a new Uri instance according to the given encoded string `uri`. More...
final boolean | isFileScheme ()
| Returns true, if this instance is a `file` `scheme`, otherwise false. More...
final boolean | isJarScheme ()
| Returns true, if this instance is a `jar` `scheme`, otherwise false. More...
final Encoded | getEncoded ()
| Returns the encoded `input`, never `null`. More...
final String | toString ()
| Returns the encoded `input` as String, never `null`, same as `getEncoded()`. More...
ASCIIEncoded | toASCIIString ()
| Returns the encoded `input` encoded in US-ASCII. More...
final java.net.URI | toURI ()
| Returns a new `URI` instance using the encoded `input` string, `new URI(uri.input)`, i.e. More...
final java.net.URI | toURIReencoded () throws URISyntaxException
| Returns a new `URI` instance based upon this instance. More...
final java.net.URL | toURL () throws MalformedURLException
| Returns a new `URL` instance using the encoded `input` string, `new URL(uri.input)`, i.e. More...
final File | toFile ()
| If this instance `is a file scheme`, implementation decodes [ "//"+`authority` ] + `path`, then it processes the result if `File#separatorChar` `== '\'` as follows: More...
final Uri | getContainedUri () throws URISyntaxException
| If this instance's `schemeSpecificPart` contains a Uri itself, a sub-Uri, return `schemeSpecificPart` + `#` `fragment` via it's own new Uri instance. More...
final Uri | getNormalized ()
| `Normalizes` this Uri's path and return the `normalized` form if it differs, otherwise `this` instance. More...
Uri | getDirectory ()
| Returns this Uri's directory Uri. More...
final Uri | getParent ()
| Returns this Uri's parent directory Uri. More...
Uri | getRelativeOf (final Encoded appendPath) throws URISyntaxException
| Returns a new Uri appending the given `appendPath` to this instance's `directory`. More...
final Uri | concat (final Encoded suffix) throws URISyntaxException
| Concatenates the given encoded string to the `encoded uri` of this instance and returns `a new Uri instance` with the result. More...
final Uri | getNewQuery (final Encoded newQuery) throws URISyntaxException
| Returns a new Uri instance w/ the given new query `newQuery`. More...
final boolean | equals (final Object o)
final int | hashCode ()

## Static Public Member Functions

static String | encode (final String vanilla, final String legal)
| All characters are encoded into their hexadecimal value prepended by '', except: More...
static String | encodeToASCIIString (final 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 ''. More...
static String | decode (final Encoded encoded)
| Safe `Encoded#decode()` call on optional `encoded` instance. More...
static String | decode (final String encoded)
| Decodes the string argument which is assumed to be encoded in the ` x-www-form-urlencoded` MIME content type using the UTF-8 encoding scheme. More...
static Uri | create (final String scheme, final String ssp, final String fragment) throws URISyntaxException
| Creates a new Uri instance using the given unencoded arguments. More...
static Uri | create (final Encoded scheme, final Encoded ssp, final Encoded fragment) throws URISyntaxException
| Creates a new Uri instance using the given encoded arguments. More...
static Uri | create (final String scheme, final String userinfo, String host, final int port, final String path, final String query, final String fragment) throws URISyntaxException
| Creates a new Uri instance using the given unencoded arguments. More...
static Uri | create (final Encoded scheme, final Encoded userinfo, final Encoded host, final int port, final Encoded path, final Encoded query, final Encoded fragment) throws URISyntaxException
| Creates a new Uri instance using the given encoded arguments. More...
static Uri | create (final String scheme, final String host, final String path, final String fragment) throws URISyntaxException
| Creates a new Uri instance using the given unencoded arguments. More...
static Uri | create (final Encoded scheme, final Encoded host, final Encoded path, final Encoded fragment) throws URISyntaxException
| Creates a new Uri instance using the given encoded arguments. More...
static Uri | create (final String scheme, final String authority, final String path, final String query, final String fragment) throws URISyntaxException
| Creates a new Uri instance using the given unencoded arguments. More...
static Uri | create (final Encoded scheme, final Encoded authority, final Encoded path, final Encoded query, final Encoded fragment) throws URISyntaxException
| Creates a new Uri instance using the given encoded arguments. More...
static Uri | cast (final String encodedUri) throws URISyntaxException
| Casts the given encoded String to a `new Encoded instance` used to create the resulting Uri instance via `Uri(Encoded)`. More...
static Uri | valueOfFilepath (final String path) throws URISyntaxException
| Creates a new Uri instance using the given file-path argument. More...
static Uri | valueOf (final File file) throws URISyntaxException
| Creates a new Uri instance using the given File instance. More...
static Uri | valueOf (final java.net.URI uri) throws URISyntaxException
| Creates a new Uri instance using the given URI instance. More...
static Uri | valueOf (final java.net.URL url) throws URISyntaxException
| Creates a new Uri instance using the given URL instance, convenient wrapper for `valueOf(URI)` and `URL#toURI()`. More...
static Uri | tryUriOrFile (final String uri_s)
| Return first successful resulting `Uri`. More...
static boolean | isFileScheme (final String uri)
static boolean | isHttpxScheme (final String uri)
static String | getScheme (final String uri)
static boolean | isValidScheme (final String scheme)

## Public Attributes

final Encoded | input
| Encoded input string used at construction, never `null`. More...
final Encoded | scheme
| Encoded `scheme`, `null` if undefined. More...
final Encoded | schemeSpecificPart
| Encoded `scheme-specific-part`, never `null`. More...
final Encoded | path
| Encoded `path` part of `scheme-specific-part`, never `null`. More...
final boolean | hasAuthority
| Indicating whether `authority` part is defined or not. More...
final Encoded | authority
| Encoded `authority` part of `scheme-specific-part`, `null` if undefined. More...
final Encoded | userInfo
| Encoded `userinfo` part of `authority` and `scheme-specific-part`, `null` if undefined. More...
final Encoded | host
| Encoded `host` part of `authority` and `scheme-specific-part`, `null` if undefined. More...
final int | port
| Encoded `port` part of `authority` and `scheme-specific-part`, `-1` if undefined. More...
final Encoded | query
| Encoded `query` part of `scheme-specific-part`, `null` if undefined. More...
final Encoded | fragment
| Encoded `fragment`, `null` if undefined. More...
final boolean | absolute
| Indicating whether this Uri is absolute, i.e. More...
final boolean | opaque
| Indicating whether this Uri is opaque, i.e. More...

## Static Public Attributes

static final String | UNRESERVED = "_-.~"
| RFC 3986 section 2.3 Unreserved Characters (January 2005) More...
static final String | RESERVED = punct + "!*\'()@/?#[]"
| RFC 3986 section 2.2 Reserved Characters (January 2005) More...
static final String | RESERVED_2 = punct + "!*\'()@/?[]"
static final String | USERINFO_LEGAL = UNRESERVED + punct
| Valid charset for RFC 2396 `authority`'s `user-info`, additional to legal `alphanum` characters. More...
static final String | AUTHORITY_LEGAL = "@[]" + USERINFO_LEGAL
| Valid charset for RFC 2396 `authority`, additional to legal `alphanum` characters. More...
static final String | PATH_LEGAL = "/!" + UNRESERVED
| Valid charset for RFC 2396 `path`, additional to legal `alphanum` characters. More...
static final String | QUERY_LEGAL = UNRESERVED + RESERVED_2 + "\\\""
| Valid charset for RFC 2396 `query`, additional to legal `alphanum` characters. More...
static final String | SSP_LEGAL = QUERY_LEGAL
| Valid charset for RFC 2396 `scheme-specific-part`, additional to legal `alphanum` characters. More...
static final String | FRAG_LEGAL = UNRESERVED + RESERVED
| Valid charset for RFC 2396 `fragment`, additional to legal `alphanum` characters. More...
static final char | SCHEME_SEPARATOR = ':'
| {@value} More...
static final char | QUERY_SEPARATOR = '?'
| {@value} More...
static final char | FRAGMENT_SEPARATOR = '#'
| {@value} More...
static final String | FILE_SCHEME = "file"
| {@value} More...
static final String | HTTP_SCHEME = "http"
| {@value} More...
static final String | HTTPS_SCHEME = "https"
| {@value} More...
static final String | JAR_SCHEME = "jar"
| {@value} More...
static final char | JAR_SCHEME_SEPARATOR = '!'
| A JAR sub-protocol is separated from the JAR entry w/ this separator {@value}. More...

## Detailed Description

This class implements an immutable Uri as defined by RFC 2396.

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]

<p<blockquote>‍

RFC 3986 section 2.2 Reserved Characters (January 2005)

`!` | `*` | `'` | `(` | `)` | `;` | `:` | `</code>` | ``&`` | ``=`` | ``+`` | ``$`` | ``,`` | ``/`` | ``?`` | ``#`` | ``[`` | ``]``

``

`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

Definition at line 160 of file Uri.java.

## Constructor & Destructor Documentation

## ◆ Uri()

com.jogamp.common.net.Uri.Uri | ( | final Encoded | uri | ) | throws URISyntaxException

Creates a new Uri instance according to the given encoded string `uri`.

Parameters

  uri | the RFC3986 encoded RFC2396 Uri representation to be parsed into a Uri object

Exceptions

  URISyntaxException | if the given string `uri` doesn't fit to the specification RFC2396 and RFC3986 or could not be parsed correctly.

Definition at line 1250 of file Uri.java.

Here is the caller graph for this function:

## Member Function Documentation

## ◆ cast()

static Uri com.jogamp.common.net.Uri.cast | ( | final String | encodedUri | ) | throws URISyntaxException

static

Casts the given encoded String to a `new Encoded instance` used to create the resulting Uri instance via `Uri(Encoded)`.

No encoding will be performed on the given `encodedUri`, use with care.

Exceptions

  URISyntaxException |

Definition at line 1068 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ concat()

final Uri com.jogamp.common.net.Uri.concat | ( | final Encoded | suffix | ) | throws URISyntaxException

Concatenates the given encoded string to the `encoded uri` of this instance and returns `a new Uri instance` with the result.

Exceptions

  URISyntaxException | if the concatenated string `uri` doesn't fit to the specification RFC2396 and RFC3986 or could not be parsed correctly.

Definition at line 1725 of file Uri.java.

Here is the call graph for this function:

## ◆ create() [1/8]

static Uri com.jogamp.common.net.Uri.create | ( | final Encoded | scheme,
|  | final Encoded | authority,
|  | final Encoded | path,
|  | final Encoded | query,
|  | final Encoded | fragment
| ) |  | throws URISyntaxException

static

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]`

`host` and `port` may be undefined or invalid, in the optional `authority`.

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.

Exceptions

  URISyntaxException | if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.

Definition at line 1027 of file Uri.java.

Here is the call graph for this function:

## ◆ create() [2/8]

static Uri com.jogamp.common.net.Uri.create | ( | final Encoded | scheme,
|  | final Encoded | host,
|  | final Encoded | path,
|  | final Encoded | fragment
| ) |  | throws URISyntaxException

static

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]`

`host` must 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.

Exceptions

  URISyntaxException | if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.

Definition at line 936 of file Uri.java.

Here is the call graph for this function:

## ◆ create() [3/8]

static Uri com.jogamp.common.net.Uri.create | ( | final Encoded | scheme,
|  | final Encoded | ssp,
|  | final Encoded | fragment
| ) |  | throws URISyntaxException

static

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]`

`host` and `port` may be undefined or invalid within `scheme-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.

Exceptions

  URISyntaxException | if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.

Definition at line 701 of file Uri.java.

Here is the call graph for this function:

## ◆ create() [4/8]

static Uri com.jogamp.common.net.Uri.create | ( | final Encoded | scheme,
|  | final Encoded | userinfo,
|  | final Encoded | host,
|  | final int | port,
|  | final Encoded | path,
|  | final Encoded | query,
|  | final Encoded | fragment
| ) |  | throws URISyntaxException

static

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]`

`host` and `port` must be defined and valid, if any `authority` components are defined, i.e. `user-info`, `host` or `port`.

Parameters

  scheme | the encoded scheme part of the Uri.
  userinfo | the encoded user information of the Uri for authentication and authorization, `null` for undefined.
  host | the encoded host name of the Uri, `null` for 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.

Exceptions

  URISyntaxException | if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.

Definition at line 835 of file Uri.java.

Here is the call graph for this function:

## ◆ create() [5/8]

static Uri com.jogamp.common.net.Uri.create | ( | final String | scheme,
|  | final String | authority,
|  | final String | path,
|  | final String | query,
|  | final String | fragment
| ) |  | throws URISyntaxException

static

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]`

`host` and `port` may be undefined or invalid, in the optional `authority`.

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.

Exceptions

  URISyntaxException | if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.

Definition at line 963 of file Uri.java.

Here is the call graph for this function:

## ◆ create() [6/8]

static Uri com.jogamp.common.net.Uri.create | ( | final String | scheme,
|  | final String | host,
|  | final String | path,
|  | final String | fragment
| ) |  | throws URISyntaxException

static

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]`

`host` must 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.

Exceptions

  URISyntaxException | if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.

Definition at line 907 of file Uri.java.

Here is the call graph for this function:

## ◆ create() [7/8]

static Uri com.jogamp.common.net.Uri.create | ( | final String | scheme,
|  | final String | ssp,
|  | final String | fragment
| ) |  | throws URISyntaxException

static

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]`

`host` and `port` may be undefined or invalid within `scheme-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.

Exceptions

  URISyntaxException | if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.

Definition at line 656 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ create() [8/8]

static Uri com.jogamp.common.net.Uri.create | ( | final String | scheme,
|  | final String | userinfo,
|  | String | host,
|  | final int | port,
|  | final String | path,
|  | final String | query,
|  | final String | fragment
| ) |  | throws URISyntaxException

static

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]`

`host` and `port` must be defined and valid, if any `authority` components are defined, i.e. `user-info`, `host` or `port`.

Parameters

  scheme | the unencoded scheme part of the Uri.
  userinfo | the unencoded user information of the Uri for authentication and authorization, `null` for undefined.
  host | the unencoded host name of the Uri, `null` for 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.

Exceptions

  URISyntaxException | if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.

Definition at line 745 of file Uri.java.

Here is the call graph for this function:

## ◆ decode() [1/2]

static String com.jogamp.common.net.Uri.decode | ( | final Encoded | encoded | ) |

static

Safe `Encoded#decode()` call on optional `encoded` instance.

Parameters

  encoded | `Encoded` instance to be decoded, may be `null`.

Returns
  the `decoded` String or `null` if `encoded` was `null`.

Definition at line 572 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ decode() [2/2]

static String com.jogamp.common.net.Uri.decode | ( | final String | encoded | ) |

static

Decodes the string argument which is assumed to be encoded in the `
x-www-form-urlencoded` MIME 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.

Definition at line 591 of file Uri.java.

## ◆ encode()

static String com.jogamp.common.net.Uri.encode | ( | final String | vanilla,
|  | final String | legal
| ) |  |

static

All characters are encoded into their hexadecimal value prepended by '', except:

1. letters ('a'..'z', 'A'..'Z')
2. numbers ('0'..'9')
3. characters in the legal-set parameter
4. 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#Encoded(String, String)` in APIs to distinguish encoded from unencoded data by type.

Parameters

  vanilla | the string to be encoded
  legal | extended character set, allowed to be preserved in the vanilla string

Returns
  java.lang.String the converted string

Definition at line 519 of file Uri.java.

Here is the caller graph for this function:

## ◆ encodeToASCIIString()

static String com.jogamp.common.net.Uri.encodeToASCIIString | ( | final String | unicode | ) |

static

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#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

Definition at line 554 of file Uri.java.

Here is the caller graph for this function:

## ◆ equals()

final boolean com.jogamp.common.net.Uri.equals | ( | final Object | o | ) |

Compares this Uri instance with the given argument `o` and determines if both are equal. Two Uri instances are equal if all single parts are identical in their meaning.

Parameters

  o | the Uri this instance has to be compared with.

Returns
  `true` if both Uri instances point to the same resource, `false` otherwise.

Definition at line 1763 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ getContainedUri()

final Uri com.jogamp.common.net.Uri.getContainedUri | ( |  | ) | throws URISyntaxException

If this instance's `schemeSpecificPart` contains a Uri itself, a sub-Uri, return `schemeSpecificPart` + `#` `fragment` via it's own new Uri instance.

In case this Uri is a `jar-scheme`, the `query` is omitted, since it shall be invalid for `jar-schemes` anyway.

Otherwise method returns `null`.

    Example 1:
        This instance: jar:scheme2:/some/path/gluegen-rt.jar!/com/jogamp/common/GlueGenVersion.class
        Returned Uri:  scheme2:/some/path/gluegen-rt.jar

    Example 2:
        This instance: jar:scheme2:/some/path/gluegen-rt.jar!/com/jogamp/common/GlueGenVersion.class?lala=01fragment
        Returned Uri:  scheme2:/some/path/gluegen-rt.jar::fragment

    Example 3:
        This instance: scheme1:scheme2:/some/path/gluegen-rt.jar!/?lala=01fragment
        Returned Uri:  scheme2:/some/path/gluegen-rt.jar?lala=01fragment

Exceptions

  URISyntaxException | if this Uri is a container Uri and does not comply with the container spec, i.e. a JAR Uri

Definition at line 1437 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ getDirectory()

Uri com.jogamp.common.net.Uri.getDirectory | ( |  | ) |

Returns this Uri's directory Uri.

This Uri path will be `normalized` before returning the directory.

If this Uri's directory cannot be found, or already denotes a directory, method returns `this` instance.

    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/

Exceptions

  URISyntaxException | if the new string `uri` doesn't fit to the specification RFC2396 and RFC3986 or could not be parsed correctly.

Definition at line 1622 of file Uri.java.

Here is the caller graph for this function:

## ◆ getEncoded()

final Encoded com.jogamp.common.net.Uri.getEncoded | ( |  | ) |

Returns the encoded `input`, never `null`.

Definition at line 1293 of file Uri.java.

Here is the caller graph for this function:

## ◆ getNewQuery()

final Uri com.jogamp.common.net.Uri.getNewQuery | ( | final Encoded | newQuery | ) | throws URISyntaxException

Returns a new Uri instance w/ the given new query `newQuery`.

Exceptions

  URISyntaxException | if this Uri is `opaque` or if the new string `uri` doesn't fit to the specification RFC2396 and RFC3986 or could not be parsed correctly.

Definition at line 1740 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ getNormalized()

final Uri com.jogamp.common.net.Uri.getNormalized | ( |  | ) |

`Normalizes` this Uri's path and return the `normalized` form if it differs, otherwise `this` instance.

    Example-1:
        This instance  : jar:http://some/path/../gluegen-rt.jar!/com/Test.class?arg=1#frag
        Normalized     : jar:http://some/gluegen-rt.jar!/com/Test.class?arg=1#frag

    Example-2:
        This instance  : http://some/path/../gluegen-rt.jar?arg=1#frag
        Normalized     : http://some/gluegen-rt.jar?arg=1#frag

Definition at line 1583 of file Uri.java.

Here is the caller graph for this function:

## ◆ getParent()

final Uri com.jogamp.common.net.Uri.getParent | ( |  | ) |

Returns this Uri's parent directory Uri.

This Uri path will be `normalized` before 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#frag
        Returned Uri #1: jar:http://some/path/gluegen-rt.jar!/com/?arg=1#frag
        Returned Uri #2: jar:http://some/path/gluegen-rt.jar!/?arg=1#frag
        Returned Uri #3: null

    Example-2:
        This instance  : http://some/path/gluegen-rt.jar?arg=1#frag
        Returned Uri #1: http://some/path/?arg=1#frag
        Returned Uri #2: http://some/?arg=1#frag
        Returned Uri #2: null

    Example-3:
        This instance  : http://some/path/../gluegen-rt.jar?arg=1#frag
        Returned Uri #1: http://some/?arg=1#frag
        Returned Uri #2: null

Definition at line 1664 of file Uri.java.

Here is the caller graph for this function:

## ◆ getRelativeOf()

Uri com.jogamp.common.net.Uri.getRelativeOf | ( | final Encoded | appendPath | ) | throws URISyntaxException

Returns a new Uri appending the given `appendPath` to this instance's `directory`.

If `appendPath` is empty, method behaves like `getNormalized()`.

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

Exceptions

  URISyntaxException | if the resulting `uri` doesn't fit to the specification RFC2396 and RFC3986 or could not be parsed correctly.

Definition at line 1709 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ getScheme()

static String com.jogamp.common.net.Uri.getScheme | ( | final String | uri | ) |

static

Definition at line 1267 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ hashCode()

final int com.jogamp.common.net.Uri.hashCode | ( |  | ) |

Gets the hashcode value of this Uri instance.

Definition at line 1845 of file Uri.java.

Here is the caller graph for this function:

## ◆ isFileScheme() [1/2]

final boolean com.jogamp.common.net.Uri.isFileScheme | ( |  | ) |

Returns true, if this instance is a `file` `scheme`, otherwise false.

Definition at line 1255 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ isFileScheme() [2/2]

static boolean com.jogamp.common.net.Uri.isFileScheme | ( | final String | uri | ) |

static

Definition at line 1259 of file Uri.java.

Here is the call graph for this function:

## ◆ isHttpxScheme()

static boolean com.jogamp.common.net.Uri.isHttpxScheme | ( | final String | uri | ) |

static

Definition at line 1263 of file Uri.java.

Here is the call graph for this function:

## ◆ isJarScheme()

final boolean com.jogamp.common.net.Uri.isJarScheme | ( |  | ) |

Returns true, if this instance is a `jar` `scheme`, otherwise false.

Since
  2.3.2

Definition at line 1286 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ isValidScheme()

static boolean com.jogamp.common.net.Uri.isValidScheme | ( | final String | scheme | ) |

static

Definition at line 2210 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ toASCIIString()

ASCIIEncoded com.jogamp.common.net.Uri.toASCIIString | ( |  | ) |

Returns the encoded `input` encoded in US-ASCII.

Definition at line 1308 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ toFile()

final File com.jogamp.common.net.Uri.toFile | ( |  | ) |

If this instance `is a file scheme`, implementation decodes [ "//"+`authority` ] + `path`,
then it processes the result if `File#separatorChar` `== '\'` as follows:

- slash -> backslash
- drop a starting single backslash, preserving windows UNC

and returns the resulting new `File` instance.

Otherwise implementation returns `null`.

Definition at line 1390 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ toString()

final String com.jogamp.common.net.Uri.toString | ( |  | ) |

Returns the encoded `input` as String, never `null`, same as `getEncoded()`.

Definition at line 1301 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ toURI()

final java.net.URI com.jogamp.common.net.Uri.toURI | ( |  | ) |

Returns a new `URI` instance using the encoded `input` string, `new URI(uri.input)`, i.e.

no re-encoding will be performed.

See also
  #toURIReencoded(boolean)
  #valueOf(URI)

Definition at line 1323 of file Uri.java.

Here is the call graph for this function:

## ◆ toURIReencoded()

final java.net.URI com.jogamp.common.net.Uri.toURIReencoded | ( |  | ) | throws URISyntaxException

Returns a new `URI` instance 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.

Exceptions

  URISyntaxException | if the given string `uri` doesn't fit to the specification RFC2396 or could not be parsed correctly.

See also
  toURI()
  #valueOf(URI)

Definition at line 1344 of file Uri.java.

Here is the call graph for this function:

## ◆ toURL()

final java.net.URL com.jogamp.common.net.Uri.toURL | ( |  | ) | throws MalformedURLException

Returns a new `URL` instance using the encoded `input` string, `new URL(uri.input)`, i.e.

no re-encoding will be performed.

Exceptions

  MalformedURLException | if an error occurs while creating the URL or no protocol handler could be found.

Definition at line 1369 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ tryUriOrFile()

static Uri com.jogamp.common.net.Uri.tryUriOrFile | ( | final String | uri_s | ) |

static

Return first successful resulting `Uri`.

Try `cast(String)` first, then `valueOfFilepath(String)` and `valueOf(File)` at last.

Parameters

  uri_s | a hopefully usable Uri location

Returns
  a valid Uri instance or `null`

Definition at line 1177 of file Uri.java.

Here is the call graph for this function:

## ◆ valueOf() [1/3]

static Uri com.jogamp.common.net.Uri.valueOf | ( | final File | file | ) | throws URISyntaxException

static

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 | using `slashified` `absolute-path` for the path of the `file` `schema`, utilizing `valueOfFilepath(String)`.

Exceptions

  URISyntaxException | if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.

Definition at line 1121 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ valueOf() [2/3]

static Uri com.jogamp.common.net.Uri.valueOf | ( | final java.net.URI | uri | ) | throws URISyntaxException

static

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_PATH` for issues of injecting opaque URLs.

Parameters

  uri | A given URI instance

Exceptions

  URISyntaxException | if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.

Definition at line 1139 of file Uri.java.

Here is the call graph for this function:

## ◆ valueOf() [3/3]

static Uri com.jogamp.common.net.Uri.valueOf | ( | final java.net.URL | url | ) | throws URISyntaxException

static

Creates a new Uri instance using the given URL instance, convenient wrapper for `valueOf(URI)` and `URL#toURI()`.

Re-encoding will be performed if the given URL is `not opaque`, see `valueOf(URI)`.

See `PARSE_HINT_FIX_PATH` for issues of injecting opaque URLs.

Parameters

  url | A given URL instance

Exceptions

  URISyntaxException | if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.

Definition at line 1167 of file Uri.java.

Here is the call graph for this function:

## ◆ valueOfFilepath()

static Uri com.jogamp.common.net.Uri.valueOfFilepath | ( | final String | path | ) | throws URISyntaxException

static

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 the `file` `schema`.

Exceptions

  URISyntaxException | if the temporary created string doesn't fit to the specification RFC2396 or could not be parsed correctly.

Definition at line 1087 of file Uri.java.

Here is the call graph for this function:
Here is the caller graph for this function:

## Member Data Documentation

## ◆ absolute

final boolean com.jogamp.common.net.Uri.absolute

Indicating whether this Uri is absolute, i.e.

has a `scheme` and hence an absolute `scheme-specific-part`.

Definition at line 1231 of file Uri.java.

## ◆ authority

final Encoded com.jogamp.common.net.Uri.authority

Encoded `authority` part of `scheme-specific-part`, `null` if undefined.

Definition at line 1216 of file Uri.java.

## ◆ AUTHORITY_LEGAL

final String com.jogamp.common.net.Uri.AUTHORITY_LEGAL = "@[]" + USERINFO_LEGAL

static

Valid charset for RFC 2396 `authority`, additional to legal `alphanum` characters.

{@value} + `alphanum`

Definition at line 234 of file Uri.java.

## ◆ FILE_SCHEME

final String com.jogamp.common.net.Uri.FILE_SCHEME = "file"

static

{@value}

Definition at line 283 of file Uri.java.

## ◆ FRAG_LEGAL

final String com.jogamp.common.net.Uri.FRAG_LEGAL = UNRESERVED + RESERVED

static

Valid charset for RFC 2396 `fragment`, additional to legal `alphanum` characters.

{@value} + `alphanum`

Definition at line 273 of file Uri.java.

## ◆ fragment

final Encoded com.jogamp.common.net.Uri.fragment

Encoded `fragment`, `null` if undefined.

Definition at line 1228 of file Uri.java.

## ◆ FRAGMENT_SEPARATOR

final char com.jogamp.common.net.Uri.FRAGMENT_SEPARATOR = '#'

static

{@value}

Definition at line 281 of file Uri.java.

## ◆ hasAuthority

final boolean com.jogamp.common.net.Uri.hasAuthority

Indicating whether `authority` part is defined or not.

Definition at line 1214 of file Uri.java.

## ◆ host

final Encoded com.jogamp.common.net.Uri.host

Encoded `host` part of `authority` and `scheme-specific-part`, `null` if undefined.

Definition at line 1220 of file Uri.java.

## ◆ HTTP_SCHEME

final String com.jogamp.common.net.Uri.HTTP_SCHEME = "http"

static

{@value}

Definition at line 285 of file Uri.java.

## ◆ HTTPS_SCHEME

final String com.jogamp.common.net.Uri.HTTPS_SCHEME = "https"

static

{@value}

Definition at line 287 of file Uri.java.

## ◆ input

final Encoded com.jogamp.common.net.Uri.input

Encoded input string used at construction, never `null`.

Definition at line 1196 of file Uri.java.

## ◆ JAR_SCHEME

final String com.jogamp.common.net.Uri.JAR_SCHEME = "jar"

static

{@value}

Definition at line 289 of file Uri.java.

## ◆ JAR_SCHEME_SEPARATOR

final char com.jogamp.common.net.Uri.JAR_SCHEME_SEPARATOR = '!'

static

A JAR sub-protocol is separated from the JAR entry w/ this separator {@value}.

Even if no class is specified '!/' must follow!.

Definition at line 291 of file Uri.java.

## ◆ opaque

final boolean com.jogamp.common.net.Uri.opaque

Indicating whether this Uri is opaque, i.e.

non-hierarchical `scheme-specific-part`.

An opaque Uri has no `scheme-specific-part` being parsed, i.e. `path`, `query` and `authority` are `null`.

Definition at line 1240 of file Uri.java.

## ◆ path

final Encoded com.jogamp.common.net.Uri.path

Encoded `path` part of `scheme-specific-part`, never `null`.

Definition at line 1211 of file Uri.java.

## ◆ PATH_LEGAL

final String com.jogamp.common.net.Uri.PATH_LEGAL = "/!" + UNRESERVED

static

Valid charset for RFC 2396 `path`, additional to legal `alphanum` characters.

{@value} + `alphanum`

Definition at line 243 of file Uri.java.

## ◆ port

final int com.jogamp.common.net.Uri.port

Encoded `port` part of `authority` and `scheme-specific-part`, `-1` if undefined.

Definition at line 1222 of file Uri.java.

## ◆ query

final Encoded com.jogamp.common.net.Uri.query

Encoded `query` part of `scheme-specific-part`, `null` if undefined.

Definition at line 1225 of file Uri.java.

## ◆ QUERY_LEGAL

final String com.jogamp.common.net.Uri.QUERY_LEGAL = UNRESERVED + RESERVED_2 + "\\\""

static

Valid charset for RFC 2396 `query`, additional to legal `alphanum` characters.

{@value} + `alphanum`

Definition at line 253 of file Uri.java.

## ◆ QUERY_SEPARATOR

final char com.jogamp.common.net.Uri.QUERY_SEPARATOR = '?'

static

{@value}

Definition at line 279 of file Uri.java.

## ◆ RESERVED

final String com.jogamp.common.net.Uri.RESERVED = punct + "!*\'()@/?#[]"

static

RFC 3986 section 2.2 Reserved Characters (January 2005)

{@value} + `alphanum`

Definition at line 208 of file Uri.java.

## ◆ RESERVED_2

final String com.jogamp.common.net.Uri.RESERVED_2 = punct + "!*\'()@/?[]"

static

Definition at line 211 of file Uri.java.

## ◆ scheme

final Encoded com.jogamp.common.net.Uri.scheme

Encoded `scheme`, `null` if undefined.

Definition at line 1206 of file Uri.java.

## ◆ SCHEME_SEPARATOR

final char com.jogamp.common.net.Uri.SCHEME_SEPARATOR = ':'

static

{@value}

Definition at line 277 of file Uri.java.

## ◆ schemeSpecificPart

final Encoded com.jogamp.common.net.Uri.schemeSpecificPart

Encoded `scheme-specific-part`, never `null`.

Definition at line 1209 of file Uri.java.

## ◆ SSP_LEGAL

final String com.jogamp.common.net.Uri.SSP_LEGAL = QUERY_LEGAL

static

Valid charset for RFC 2396 `scheme-specific-part`, additional to legal `alphanum` characters.

{@value} + `alphanum`

Definition at line 263 of file Uri.java.

## ◆ UNRESERVED

final String com.jogamp.common.net.Uri.UNRESERVED = "_-.~"

static

RFC 3986 section 2.3 Unreserved Characters (January 2005)

{@value} + `alphanum`

Definition at line 196 of file Uri.java.

## ◆ userInfo

final Encoded com.jogamp.common.net.Uri.userInfo

Encoded `userinfo` part of `authority` and `scheme-specific-part`, `null` if undefined.

Definition at line 1218 of file Uri.java.

## ◆ USERINFO_LEGAL

final String com.jogamp.common.net.Uri.USERINFO_LEGAL = UNRESERVED + punct

static

Valid charset for RFC 2396 `authority`'s `user-info`, additional to legal `alphanum` characters.

{@value} + `alphanum`

Definition at line 224 of file Uri.java.

The documentation for this class was generated from the following file:

- src/java/com/jogamp/common/net/Uri.java