public abstract class UriComponents
extends java.lang.Object
implements java.io.Serializable
URI
, but with more powerful encoding options and support for
URI template variables.UriComponentsBuilder
,
Serialized FormModifier and Type | Class and Description |
---|---|
static interface |
UriComponents.UriTemplateVariables
Defines the contract for URI Template variables
|
Modifier | Constructor and Description |
---|---|
protected |
UriComponents(java.lang.String scheme,
java.lang.String fragment) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
copyToUriComponentsBuilder(UriComponentsBuilder builder)
Set all components of the given UriComponentsBuilder.
|
UriComponents |
encode()
A variant of
encode(Charset) that uses "UTF-8" as the charset. |
abstract UriComponents |
encode(java.nio.charset.Charset charset)
Encode each URI component by percent encoding illegal characters, which
includes non-US-ASCII characters, and also characters that are otherwise
illegal within a given URI component type, as defined in RFC 3986.
|
UriComponents |
expand(java.util.Map<java.lang.String,?> uriVariables)
Replace all URI template variables with the values from a given map.
|
UriComponents |
expand(java.lang.Object... uriVariableValues)
Replace all URI template variables with the values from a given array.
|
UriComponents |
expand(UriComponents.UriTemplateVariables uriVariables)
Replace all URI template variables with the values from the given
UriComponents.UriTemplateVariables . |
java.lang.String |
getFragment()
Return the fragment.
|
abstract java.lang.String |
getHost()
Return the host.
|
abstract java.lang.String |
getPath()
Return the path.
|
abstract java.util.List<java.lang.String> |
getPathSegments()
Return the list of path segments.
|
abstract int |
getPort()
Return the port.
|
abstract java.lang.String |
getQuery()
Return the query.
|
abstract MultiValueMap<java.lang.String,java.lang.String> |
getQueryParams()
Return the map of query parameters.
|
java.lang.String |
getScheme()
Return the scheme.
|
abstract java.lang.String |
getSchemeSpecificPart()
Return the scheme specific part.
|
abstract java.lang.String |
getUserInfo()
Return the user info.
|
abstract UriComponents |
normalize()
Normalize the path removing sequences like "path/..".
|
java.lang.String |
toString()
A simple pass-through to
toUriString() . |
abstract java.net.URI |
toUri()
Create a
URI from this instance as follows: |
abstract java.lang.String |
toUriString()
Concatenate all URI components to return the fully formed URI String.
|
@Nullable public final java.lang.String getScheme()
null
.@Nullable public final java.lang.String getFragment()
null
.@Nullable public abstract java.lang.String getSchemeSpecificPart()
null
.@Nullable public abstract java.lang.String getUserInfo()
null
.@Nullable public abstract java.lang.String getHost()
null
.public abstract int getPort()
-1
if no port has been set.@Nullable public abstract java.lang.String getPath()
null
.public abstract java.util.List<java.lang.String> getPathSegments()
@Nullable public abstract java.lang.String getQuery()
null
.public abstract MultiValueMap<java.lang.String,java.lang.String> getQueryParams()
public final UriComponents encode()
encode(Charset)
that uses "UTF-8" as the charset.UriComponents
instance with encoded valuespublic abstract UriComponents encode(java.nio.charset.Charset charset)
URI
.charset
- the encoding of the values contained in this mapUriComponents
instance with encoded valuespublic final UriComponents expand(java.util.Map<java.lang.String,?> uriVariables)
The given map keys represent variable names; the corresponding values represent variable values. The order of variables is not significant.
uriVariables
- the map of URI variablespublic final UriComponents expand(java.lang.Object... uriVariableValues)
The given array represents variable values. The order of variables is significant.
uriVariableValues
- the URI variable valuespublic final UriComponents expand(UriComponents.UriTemplateVariables uriVariables)
UriComponents.UriTemplateVariables
.uriVariables
- the URI template valuespublic abstract UriComponents normalize()
StringUtils.cleanPath(String)
public abstract java.lang.String toUriString()
This method does nothing more than a simple concatenation based on
current values. That means it could produce different results if invoked
before vs after methods that can change individual values such as
encode
, expand
, or normalize
.
public abstract java.net.URI toUri()
URI
from this instance as follows:
If the current instance is encoded
, form the full
URI String via toUriString()
, and then pass it to the single
argument URI
constructor which preserves percent encoding.
If not yet encoded, pass individual URI component values to the
multi-argument URI
constructor which quotes illegal characters
that cannot appear in their respective URI component.
public final java.lang.String toString()
toUriString()
.toString
in class java.lang.Object
protected abstract void copyToUriComponentsBuilder(UriComponentsBuilder builder)