Class Uri
- All Implemented Interfaces:
Serializable
,scala.Equals
,scala.Product
- Direct Known Subclasses:
Uri.Empty$
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
param: port A port number that may be0
to signal the default port of for scheme.static class
static class
static class
static class
static final class
static class
static final class
static class
static final class
static class
static class
static interface
static class
static class
static class
static class
static class
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Uri
apply
(akka.parboiled2.ParserInput input) Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1.static Uri
apply
(akka.parboiled2.ParserInput input, Uri.ParsingMode mode) Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1.static Uri
apply
(akka.parboiled2.ParserInput input, Charset charset, Uri.ParsingMode mode) Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1.static Uri
Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1.static Uri
apply
(String scheme, Uri.Authority authority, Uri.Path path, scala.Option<String> queryString, scala.Option<String> fragment) Creates a new Uri instance from the given components.static Uri.Path
collapseDotSegments
(Uri.Path path) copy
(String scheme, Uri.Authority authority, Uri.Path path, scala.Option<String> rawQueryString, scala.Option<String> fragment) Returns a copy of this Uri with the given components.static Uri
create
(String scheme, Uri.Authority authority, Uri.Path path, scala.Option<String> queryString, scala.Option<String> fragment) static Uri
create
(String scheme, String userinfo, Uri.Host host, int port, Uri.Path path, scala.Option<String> queryString, scala.Option<String> fragment) static Uri
createUnsafe
(String scheme, Uri.Authority authority, Uri.Path path, scala.Option<String> queryString, scala.Option<String> fragment) 'Unsafe' in the sense that queryString validation must already have been done.static String
static String
decode
(String string, Charset charset, int ix, StringBuilder sb) static Uri
effectiveHttpRequestUri
(String scheme, Uri.Host host, int port, Uri.Path path, scala.Option<String> query, scala.Option<String> fragment, boolean securedConnection, Uri.Host hostHeaderHost, int hostHeaderPort, Uri.Authority defaultAuthority) Converts a set of URI components to an "effective HTTP request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5.int
The effective port of this Uri given the currently set authority and scheme values.static Uri
effectiveRequestUri
(String scheme, Uri.Host host, int port, Uri.Path path, scala.Option<String> query, scala.Option<String> fragment, String defaultScheme, Uri.Host hostHeaderHost, int hostHeaderPort, Uri.Authority defaultAuthority) Converts a set of URI components to an "effective request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5.static scala.runtime.Nothing$
scala.Option<String>
fragment()
static Uri
from
(String scheme, String userinfo, String host, int port, String path, scala.Option<String> queryString, scala.Option<String> fragment, Uri.ParsingMode mode) Creates a new Uri instance from the given components.static String
httpScheme
(boolean securedConnection) boolean
abstract boolean
isEmpty()
boolean
static String
normalize
(akka.parboiled2.ParserInput uri, Charset charset, Uri.ParsingMode mode) Normalizes the given URI string by performing the following normalizations: - thescheme
andhost
components are converted to lowercase - a potentially existingport
component is removed if it matches one of the defined default ports for the scheme - percent-encoded octets are decoded if allowed, otherwise they are converted to uppercase hex notation -.
and..
path segments are resolved as far as possiblestatic int
normalizePort
(int port, String scheme) static String
normalizeScheme
(String scheme) static Uri
parseAbsolute
(akka.parboiled2.ParserInput input, Charset charset, Uri.ParsingMode mode) Parses a string into a normalized absolute URI as defined by http://tools.ietf.org/html/rfc3986#section-4.3.static Uri
parseAndResolve
(akka.parboiled2.ParserInput string, Uri base, Charset charset, Uri.ParsingMode mode) Parses a string into a normalized URI reference that is immediately resolved against the given base URI as defined by http://tools.ietf.org/html/rfc3986#section-5.2.static Uri.Authority
parseHttp2AuthorityPseudoHeader
(akka.parboiled2.ParserInput headerValue, Charset charset, Uri.ParsingMode mode) Parses the given string as if it were the value of an HTTP/2 ":authority" pseudo-header.parseHttp2PathPseudoHeader
(akka.parboiled2.ParserInput headerValue, Charset charset, Uri.ParsingMode mode) Parses the given string as if it were the value of an HTTP/2 ":path" pseudo-header.static Uri
parseHttpRequestTarget
(akka.parboiled2.ParserInput requestTarget, Charset charset, Uri.ParsingMode mode) Parses the given string into an HTTP request target URI as defined by http://tools.ietf.org/html/rfc7230#section-5.3.path()
query
(Charset charset, Uri.ParsingMode mode) Parses the rawQueryString member into a Query instance.scala.Option<String>
queryString
(Charset charset) Returns the query part of the Uri in its decoded form.scala.Option<String>
resolvedAgainst
(Uri base) Returns a new absolute Uri that is the result of the resolution process defined by http://tools.ietf.org/html/rfc3986#section-5.2.2 The given base Uri must be absolute.static Uri
resolveUnsafe
(String scheme, String userinfo, Uri.Host host, int port, Uri.Path path, scala.Option<String> query, scala.Option<String> fragment, Uri base) https://tools.ietf.org/html/rfc3986#section-5.2.2scheme()
toEffectiveHttpRequestUri
(Uri.Host hostHeaderHost, int hostHeaderPort, boolean securedConnection, Uri.Authority defaultAuthority) Converts this URI to an "effective HTTP request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5toEffectiveRequestUri
(Uri.Host hostHeaderHost, int hostHeaderPort, String defaultScheme, Uri.Authority defaultAuthority) Converts this URI to an "effective request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5Converts this URI into an HTTP request target "origin-form" as defined by https://tools.ietf.org/html/rfc7230#section-5.3.Converts this URI into a relative URI by keeping the path, query and fragment, but dropping the scheme and authority.toString()
static Uri.Path
verifyPath
(Uri.Path path, String scheme, Uri.Host host) static String
websocketScheme
(boolean securedConnection) withAuthority
(Uri.Authority authority) Returns a copy of this Uri with the given authority.withAuthority
(Uri.Host host, int port, String userinfo) Returns a copy of this Uri with a Authority created using the given host, port and userinfo.withAuthority
(String host, int port) Returns a copy of this Uri with a Authority created using the given host and port.withFragment
(String fragment) Returns a copy of this Uri with the given fragment.Returns a copy of this Uri with the given host.Returns a copy of this Uri with the given host.Drops the fragment from this URIReturns a copy of this Uri with the given path.withPort
(int port) Returns a copy of this Uri with the given port.Returns a copy of this Uri with the given query.withRawQueryString
(String rawQuery) Returns a copy of this Uri with the given query string.withRawQueryString
(String rawQueryString, Uri.ParsingMode mode) Returns a copy of this Uri with the given query string.withScheme
(String scheme) Returns a copy of this Uri with the given scheme.withUserInfo
(String userinfo) Returns a copy of this Uri with the given userinfo.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface scala.Equals
canEqual, equals
Methods inherited from interface scala.Product
productArity, productElement, productElementName, productElementNames, productIterator, productPrefix
-
Constructor Details
-
Uri
public Uri(String scheme, Uri.Authority authority, Uri.Path path, scala.Option<String> rawQueryString, scala.Option<String> fragment)
-
-
Method Details
-
apply
Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1. Percent-encoded octets are UTF-8 decoded. Accepts unencoded visible 7-bit ASCII characters in addition to the RFC. If the given string is not a valid URI the method throws anIllegalUriException
.- Parameters:
input
- (undocumented)- Returns:
- (undocumented)
-
apply
Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1. Percent-encoded octets are decoded using the given charset (where specified by the RFC). Accepts unencoded visible 7-bit ASCII characters in addition to the rfc. If the given string is not a valid URI the method throws anIllegalUriException
.- Parameters:
input
- (undocumented)- Returns:
- (undocumented)
-
apply
Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1. Percent-encoded octets are decoded using the given charset (where specified by the RFC). If the given string is not a valid URI the method throws anIllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.input
- (undocumented)- Returns:
- (undocumented)
-
apply
Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1. Percent-encoded octets are decoded using the given charset (where specified by the RFC). If the given string is not a valid URI the method throws anIllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.input
- (undocumented)charset
- (undocumented)- Returns:
- (undocumented)
-
apply
public static Uri apply(String scheme, Uri.Authority authority, Uri.Path path, scala.Option<String> queryString, scala.Option<String> fragment) Creates a new Uri instance from the given components. All components are verified and normalized except the authority which is kept as provided. If the given combination of components does not constitute a valid URI as defined by http://tools.ietf.org/html/rfc3986 the method throws anIllegalUriException
.- Parameters:
queryString
- percent-encoded query string. When characters are encountered that are outside of the RFC3986 range they are automatically percent-encodedscheme
- (undocumented)authority
- (undocumented)path
- (undocumented)fragment
- (undocumented)- Returns:
- (undocumented)
-
from
public static Uri from(String scheme, String userinfo, String host, int port, String path, scala.Option<String> queryString, scala.Option<String> fragment, Uri.ParsingMode mode) Creates a new Uri instance from the given components. All components are verified and normalized. If the given combination of components does not constitute a valid URI as defined by http://tools.ietf.org/html/rfc3986 the method throws anIllegalUriException
.- Parameters:
scheme
- (undocumented)userinfo
- (undocumented)host
- (undocumented)port
- (undocumented)path
- (undocumented)queryString
- (undocumented)fragment
- (undocumented)mode
- (undocumented)- Returns:
- (undocumented)
-
parseAbsolute
public static Uri parseAbsolute(akka.parboiled2.ParserInput input, Charset charset, Uri.ParsingMode mode) Parses a string into a normalized absolute URI as defined by http://tools.ietf.org/html/rfc3986#section-4.3. Percent-encoded octets are decoded using the given charset (where specified by the RFC). If the given string is not a valid URI the method throws anIllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.input
- (undocumented)charset
- (undocumented)- Returns:
- (undocumented)
-
parseAndResolve
public static Uri parseAndResolve(akka.parboiled2.ParserInput string, Uri base, Charset charset, Uri.ParsingMode mode) Parses a string into a normalized URI reference that is immediately resolved against the given base URI as defined by http://tools.ietf.org/html/rfc3986#section-5.2. Note that the given base Uri must be absolute (i.e. define a scheme). Percent-encoded octets are decoded using the given charset (where specified by the RFC). If the given string is not a valid URI the method throws anIllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.string
- (undocumented)base
- (undocumented)charset
- (undocumented)- Returns:
- (undocumented)
-
parseHttpRequestTarget
public static Uri parseHttpRequestTarget(akka.parboiled2.ParserInput requestTarget, Charset charset, Uri.ParsingMode mode) Parses the given string into an HTTP request target URI as defined by http://tools.ietf.org/html/rfc7230#section-5.3. If the given string is not a valid URI the method throws anIllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.requestTarget
- (undocumented)charset
- (undocumented)- Returns:
- (undocumented)
-
parseHttp2PathPseudoHeader
public static scala.Tuple2<Uri.Path,scala.Option<String>> parseHttp2PathPseudoHeader(akka.parboiled2.ParserInput headerValue, Charset charset, Uri.ParsingMode mode) Parses the given string as if it were the value of an HTTP/2 ":path" pseudo-header. The result is a path and a query string as defined in https://tools.ietf.org/html/rfc7540#section-8.1.2.3 If the given string is not a valid path or query string the method throws anIllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.headerValue
- (undocumented)charset
- (undocumented)- Returns:
- path and percent-encoded query string. When in in 'relaxed' mode, characters not permitted by https://tools.ietf.org/html/rfc3986#section-3.4 are already automatically percent-encoded here
-
parseHttp2AuthorityPseudoHeader
public static Uri.Authority parseHttp2AuthorityPseudoHeader(akka.parboiled2.ParserInput headerValue, Charset charset, Uri.ParsingMode mode) Parses the given string as if it were the value of an HTTP/2 ":authority" pseudo-header. The result is an authority object. https://tools.ietf.org/html/rfc7540#section-8.1.2.3 If the given string is not a valid path or query string the method throws anIllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.headerValue
- (undocumented)charset
- (undocumented)- Returns:
- (undocumented)
-
normalize
public static String normalize(akka.parboiled2.ParserInput uri, Charset charset, Uri.ParsingMode mode) Normalizes the given URI string by performing the following normalizations: - thescheme
andhost
components are converted to lowercase - a potentially existingport
component is removed if it matches one of the defined default ports for the scheme - percent-encoded octets are decoded if allowed, otherwise they are converted to uppercase hex notation -.
and..
path segments are resolved as far as possibleIf the given string is not a valid URI the method throws an
IllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.uri
- (undocumented)charset
- (undocumented)- Returns:
- (undocumented)
-
effectiveHttpRequestUri
public static Uri effectiveHttpRequestUri(String scheme, Uri.Host host, int port, Uri.Path path, scala.Option<String> query, scala.Option<String> fragment, boolean securedConnection, Uri.Host hostHeaderHost, int hostHeaderPort, Uri.Authority defaultAuthority) Converts a set of URI components to an "effective HTTP request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5.- Parameters:
scheme
- (undocumented)host
- (undocumented)port
- (undocumented)path
- (undocumented)query
- (undocumented)fragment
- (undocumented)securedConnection
- (undocumented)hostHeaderHost
- (undocumented)hostHeaderPort
- (undocumented)defaultAuthority
- (undocumented)- Returns:
- (undocumented)
-
effectiveRequestUri
public static Uri effectiveRequestUri(String scheme, Uri.Host host, int port, Uri.Path path, scala.Option<String> query, scala.Option<String> fragment, String defaultScheme, Uri.Host hostHeaderHost, int hostHeaderPort, Uri.Authority defaultAuthority) Converts a set of URI components to an "effective request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5.- Parameters:
scheme
- (undocumented)host
- (undocumented)port
- (undocumented)path
- (undocumented)query
- (undocumented)fragment
- (undocumented)defaultScheme
- (undocumented)hostHeaderHost
- (undocumented)hostHeaderPort
- (undocumented)defaultAuthority
- (undocumented)- Returns:
- (undocumented)
-
httpScheme
-
websocketScheme
-
resolveUnsafe
public static Uri resolveUnsafe(String scheme, String userinfo, Uri.Host host, int port, Uri.Path path, scala.Option<String> query, scala.Option<String> fragment, Uri base) https://tools.ietf.org/html/rfc3986#section-5.2.2'Unsafe' in the sense that queryString validation must already have been done.
- Parameters:
query
- percent-encoded query string that must be guaranteed not to contain invalid percent-encodings or characters not allowed by the RFC.scheme
- (undocumented)userinfo
- (undocumented)host
- (undocumented)port
- (undocumented)path
- (undocumented)fragment
- (undocumented)base
- (undocumented)- Returns:
- (undocumented)
-
decode
-
decode
-
normalizeScheme
-
normalizePort
-
verifyPath
-
collapseDotSegments
-
fail
-
create
public static Uri create(String scheme, String userinfo, Uri.Host host, int port, Uri.Path path, scala.Option<String> queryString, scala.Option<String> fragment) - Parameters:
queryString
- percent-encoded query string. When characters are encountered that are outside of the RFC3986 range they are automatically percent-encodedscheme
- (undocumented)userinfo
- (undocumented)host
- (undocumented)port
- (undocumented)path
- (undocumented)fragment
- (undocumented)- Returns:
- (undocumented)
-
create
public static Uri create(String scheme, Uri.Authority authority, Uri.Path path, scala.Option<String> queryString, scala.Option<String> fragment) - Parameters:
queryString
- percent-encoded query string. When characters are encountered that are outside of the RFC3986 range they are automatically percent-encodedscheme
- (undocumented)authority
- (undocumented)path
- (undocumented)fragment
- (undocumented)- Returns:
- (undocumented)
-
createUnsafe
public static Uri createUnsafe(String scheme, Uri.Authority authority, Uri.Path path, scala.Option<String> queryString, scala.Option<String> fragment) 'Unsafe' in the sense that queryString validation must already have been done.- Parameters:
queryString
- percent-encoded query string that must be guaranteed not to contain invalid percent-encodings or characters not allowed by the RFC.scheme
- (undocumented)authority
- (undocumented)path
- (undocumented)fragment
- (undocumented)- Returns:
- (undocumented)
-
scheme
-
authority
-
path
-
rawQueryString
-
fragment
-
isAbsolute
public boolean isAbsolute() -
isRelative
public boolean isRelative() -
isEmpty
public abstract boolean isEmpty() -
query
Parses the rawQueryString member into a Query instance.- Parameters:
charset
- (undocumented)mode
- (undocumented)- Returns:
- (undocumented)
-
queryString
Returns the query part of the Uri in its decoded form.- Parameters:
charset
- (undocumented)- Returns:
- (undocumented)
-
effectivePort
public int effectivePort()The effective port of this Uri given the currently set authority and scheme values. If the authority has an explicitly set port (i.e. a non-zero port value) then this port is the effective port. Otherwise the default port for the current scheme is returned.- Returns:
- (undocumented)
-
copy
public Uri copy(String scheme, Uri.Authority authority, Uri.Path path, scala.Option<String> rawQueryString, scala.Option<String> fragment) Returns a copy of this Uri with the given components.If you want to use the copy constructor to update the 'rawQueryString', it is up to you to make sure the query string does not contain invalid characters. For this reason we recommend using
Uri#withRawQueryString()
instead.- Parameters:
scheme
- (undocumented)authority
- (undocumented)path
- (undocumented)rawQueryString
- (undocumented)fragment
- (undocumented)- Returns:
- (undocumented)
-
withScheme
Returns a copy of this Uri with the given scheme. Thescheme
change of the Uri has the following effect on the port value: - If the Uri has a non-default port for the scheme before the change this port will remain unchanged. - If the Uri has the default port for the scheme before the change it will have the default port for the '''new''' scheme after the change.- Parameters:
scheme
- (undocumented)- Returns:
- (undocumented)
-
withAuthority
Returns a copy of this Uri with the given authority.- Parameters:
authority
- (undocumented)- Returns:
- (undocumented)
-
withAuthority
Returns a copy of this Uri with a Authority created using the given host, port and userinfo.- Parameters:
host
- (undocumented)port
- (undocumented)userinfo
- (undocumented)- Returns:
- (undocumented)
-
withAuthority
Returns a copy of this Uri with a Authority created using the given host and port.- Parameters:
host
- (undocumented)port
- (undocumented)- Returns:
- (undocumented)
-
withHost
Returns a copy of this Uri with the given host.- Parameters:
host
- (undocumented)- Returns:
- (undocumented)
-
withHost
Returns a copy of this Uri with the given host.- Parameters:
host
- (undocumented)- Returns:
- (undocumented)
-
withPort
Returns a copy of this Uri with the given port.- Parameters:
port
- (undocumented)- Returns:
- (undocumented)
-
withPath
Returns a copy of this Uri with the given path.- Parameters:
path
- (undocumented)- Returns:
- (undocumented)
-
withUserInfo
Returns a copy of this Uri with the given userinfo.- Parameters:
userinfo
- (undocumented)- Returns:
- (undocumented)
-
withQuery
Returns a copy of this Uri with the given query.- Parameters:
query
- (undocumented)- Returns:
- (undocumented)
-
withRawQueryString
Returns a copy of this Uri with the given query string.Characters that are not within the range described at https://tools.ietf.org/html/rfc3986#section-3.4 should be percent-encoded. Characters that are in that range may or may not be percent-encoded, and depending on how the query string is parsed this might be relevant: for example, when interpreting the query string as 'key=value' pairs you could use the percent-encoded '=' ('%22) to include a '=' in a key or value.
When characters are encountered that are outside of the RFC3986 range they are automatically percent-encoded, but be aware that relying on this is usually a programming error.
- Parameters:
rawQuery
- (undocumented)- Returns:
- (undocumented)
-
withRawQueryString
Returns a copy of this Uri with the given query string.Characters that are not within the range described at https://tools.ietf.org/html/rfc3986#section-3.4 must be percent-encoded. Characters that are in that range may or may not be percent-encoded, and depending on how the query string is parsed this might be relevant: for example, when interpreting the query string as 'key=value' pairs you could use the percent-encoded '=' ('%22) to include a '=' in the key or value.
- Parameters:
mode
- depending on the mode, characters outside of the range allowed by RFC3986 will either cause anIllegalUriException
or be automatically percent-encoded. Be aware that relying on automatic percent-encoding is usually a programming error.rawQueryString
- (undocumented)- Returns:
- (undocumented)
-
withFragment
Returns a copy of this Uri with the given fragment.- Parameters:
fragment
- (undocumented)- Returns:
- (undocumented)
-
resolvedAgainst
Returns a new absolute Uri that is the result of the resolution process defined by http://tools.ietf.org/html/rfc3986#section-5.2.2 The given base Uri must be absolute.- Parameters:
base
- (undocumented)- Returns:
- (undocumented)
-
toEffectiveHttpRequestUri
public Uri toEffectiveHttpRequestUri(Uri.Host hostHeaderHost, int hostHeaderPort, boolean securedConnection, Uri.Authority defaultAuthority) Converts this URI to an "effective HTTP request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5- Parameters:
hostHeaderHost
- (undocumented)hostHeaderPort
- (undocumented)securedConnection
- (undocumented)defaultAuthority
- (undocumented)- Returns:
- (undocumented)
-
toEffectiveRequestUri
public Uri toEffectiveRequestUri(Uri.Host hostHeaderHost, int hostHeaderPort, String defaultScheme, Uri.Authority defaultAuthority) Converts this URI to an "effective request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5- Parameters:
hostHeaderHost
- (undocumented)hostHeaderPort
- (undocumented)defaultScheme
- (undocumented)defaultAuthority
- (undocumented)- Returns:
- (undocumented)
-
toRelative
Converts this URI into a relative URI by keeping the path, query and fragment, but dropping the scheme and authority.- Returns:
- (undocumented)
-
toHttpRequestTargetOriginForm
Converts this URI into an HTTP request target "origin-form" as defined by https://tools.ietf.org/html/rfc7230#section-5.3.Note that the resulting URI instance is not a valid RFC 3986 URI! (As it might be a "relative" URI with a part component starting with a double slash.)
- Returns:
- (undocumented)
-
withoutFragment
Drops the fragment from this URI- Returns:
- (undocumented)
-
toString
-