public abstract class UriComponents
extends java.lang.Object
URI
, but with more powerful encoding options and support for URI template
variables.UriComponentsBuilder
Modifier and Type | Class and Description |
---|---|
private static class |
UriComponents.MapTemplateVariables
URI template variables backed by a map.
|
(package private) static interface |
UriComponents.UriTemplateVariables
Defines the contract for URI Template variables
|
private static class |
UriComponents.VarArgsTemplateVariables
URI template variables backed by a variable argument array.
|
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
DEFAULT_ENCODING |
private java.lang.String |
fragment |
private static java.util.regex.Pattern |
NAMES_PATTERN
Captures URI template variable names.
|
private java.lang.String |
scheme |
Modifier | Constructor and Description |
---|---|
protected |
UriComponents(java.lang.String scheme,
java.lang.String fragment) |
Modifier and Type | Method and Description |
---|---|
UriComponents |
encode()
Encode all URI components using their specific encoding rules, and returns the result
as a new
UriComponents instance. |
abstract UriComponents |
encode(java.lang.String encoding)
Encode all URI components using their specific encoding rules, and
returns the result as a new
UriComponents instance. |
UriComponents |
expand(java.util.Map<java.lang.String,?> uriVariables)
Replaces all URI template variables with the values from a given map.
|
UriComponents |
expand(java.lang.Object... uriVariableValues)
Replaces all URI template variables with the values from a given array.
|
(package private) abstract UriComponents |
expandInternal(UriComponents.UriTemplateVariables uriVariables)
Replaces all URI template variables with the values from the given
UriComponents.UriTemplateVariables |
(package private) static java.lang.String |
expandUriComponent(java.lang.String source,
UriComponents.UriTemplateVariables uriVariables) |
java.lang.String |
getFragment()
Returns the fragment.
|
abstract java.lang.String |
getHost()
Returns the host.
|
abstract java.lang.String |
getPath()
Returns the path.
|
abstract java.util.List<java.lang.String> |
getPathSegments()
Returns the list of path segments.
|
abstract int |
getPort()
Returns the port.
|
abstract java.lang.String |
getQuery()
Returns the query.
|
abstract MultiValueMap<java.lang.String,java.lang.String> |
getQueryParams()
Returns the map of query parameters.
|
java.lang.String |
getScheme()
Returns the scheme.
|
abstract java.lang.String |
getSchemeSpecificPart()
Returns the scheme specific part.
|
abstract java.lang.String |
getUserInfo()
Returns the user info.
|
private static java.lang.String |
getVariableName(java.lang.String match) |
private static java.lang.String |
getVariableValueAsString(java.lang.Object variableValue) |
abstract UriComponents |
normalize()
Normalize the path removing sequences like "path/..".
|
java.lang.String |
toString() |
abstract java.net.URI |
toUri()
Returns a
URI from this UriComponents instance. |
abstract java.lang.String |
toUriString()
Returns a URI string from this
UriComponents instance. |
private static final java.lang.String DEFAULT_ENCODING
private static final java.util.regex.Pattern NAMES_PATTERN
private final java.lang.String scheme
private final java.lang.String fragment
protected UriComponents(java.lang.String scheme, java.lang.String fragment)
public final java.lang.String getScheme()
null
.public abstract java.lang.String getSchemeSpecificPart()
null
.public abstract java.lang.String getUserInfo()
null
.public abstract java.lang.String getHost()
null
.public abstract int getPort()
-1
if no port has been set.public abstract java.lang.String getPath()
null
.public abstract java.util.List<java.lang.String> getPathSegments()
public abstract java.lang.String getQuery()
null
.public abstract MultiValueMap<java.lang.String,java.lang.String> getQueryParams()
public final java.lang.String getFragment()
null
.public final UriComponents encode()
UriComponents
instance. This method uses UTF-8 to encode.public abstract UriComponents encode(java.lang.String encoding) throws java.io.UnsupportedEncodingException
UriComponents
instance.encoding
- the encoding of the values contained in this mapjava.io.UnsupportedEncodingException
- if the given encoding is not supportedpublic final UriComponents expand(java.util.Map<java.lang.String,?> uriVariables)
uriVariables
- the map of URI variablespublic final UriComponents expand(java.lang.Object... uriVariableValues)
uriVariableValues
- URI variable valuesabstract UriComponents expandInternal(UriComponents.UriTemplateVariables uriVariables)
UriComponents.UriTemplateVariables
uriVariables
- URI template valuesstatic java.lang.String expandUriComponent(java.lang.String source, UriComponents.UriTemplateVariables uriVariables)
private static java.lang.String getVariableName(java.lang.String match)
private static java.lang.String getVariableValueAsString(java.lang.Object variableValue)
public abstract java.lang.String toUriString()
UriComponents
instance.public abstract java.net.URI toUri()
URI
from this UriComponents
instance.public final java.lang.String toString()
toString
in class java.lang.Object
public abstract UriComponents normalize()
StringUtils.cleanPath(String)