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 Form| Modifier 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.Objectprotected abstract void copyToUriComponentsBuilder(UriComponentsBuilder builder)