|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.web.util.UriComponents
public final class UriComponents
Represents an immutable collection of URI components, mapping component type to string values. Contains convenience
getters for all components. Effectively similar to URI
, but with more powerful encoding options and support
for URI template variables.
UriComponentsBuilder
Nested Class Summary | |
---|---|
(package private) static class |
UriComponents.FullPathComponent
Represents a path backed by a string. |
private static class |
UriComponents.MapTemplateVariables
URI template variables backed by a map. |
(package private) static interface |
UriComponents.PathComponent
Defines the contract for path (segments). |
(package private) static class |
UriComponents.PathComponentComposite
Represents a collection of PathComponents. |
(package private) static class |
UriComponents.PathSegmentComponent
Represents a path backed by a string list (i.e. |
(package private) static class |
UriComponents.Type
Enumeration used to identify the parts of a URI. |
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. |
Field Summary | |
---|---|
private static java.lang.String |
DEFAULT_ENCODING
|
private boolean |
encoded
|
private java.lang.String |
fragment
|
private java.lang.String |
host
|
private static java.util.regex.Pattern |
NAMES_PATTERN
Captures URI template variable names. |
(package private) static UriComponents.PathComponent |
NULL_PATH_COMPONENT
Represents an empty path. |
private UriComponents.PathComponent |
path
|
private static char |
PATH_DELIMITER
|
private int |
port
|
private MultiValueMap<java.lang.String,java.lang.String> |
queryParams
|
private java.lang.String |
scheme
|
private java.lang.String |
userInfo
|
Constructor Summary | |
---|---|
UriComponents(java.lang.String scheme,
java.lang.String userInfo,
java.lang.String host,
int port,
UriComponents.PathComponent path,
MultiValueMap<java.lang.String,java.lang.String> queryParams,
java.lang.String fragment,
boolean encoded,
boolean verify)
Package-friendly constructor that creates a new UriComponents instance from the given parameters. |
Method Summary | |
---|---|
UriComponents |
encode()
Encodes all URI components using their specific encoding rules, and returns the result as a new UriComponents instance. |
UriComponents |
encode(java.lang.String encoding)
Encodes all URI components using their specific encoding rules, and returns the result as a new UriComponents instance. |
private static byte[] |
encodeBytes(byte[] source,
UriComponents.Type type)
|
(package private) static java.lang.String |
encodeUriComponent(java.lang.String source,
java.lang.String encoding,
UriComponents.Type type)
Encodes the given source into an encoded String using the rules specified by the given component and with the given options. |
boolean |
equals(java.lang.Object o)
|
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. |
private UriComponents |
expandInternal(UriComponents.UriTemplateVariables uriVariables)
|
private static java.lang.String |
expandUriComponent(java.lang.String source,
UriComponents.UriTemplateVariables uriVariables)
|
java.lang.String |
getFragment()
Returns the fragment. |
java.lang.String |
getHost()
Returns the host. |
java.lang.String |
getPath()
Returns the path. |
java.util.List<java.lang.String> |
getPathSegments()
Returns the list of path segments. |
int |
getPort()
Returns the port. |
java.lang.String |
getQuery()
Returns the query. |
MultiValueMap<java.lang.String,java.lang.String> |
getQueryParams()
Returns the map of query parameters. |
java.lang.String |
getScheme()
Returns the scheme. |
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)
|
int |
hashCode()
|
java.lang.String |
toString()
|
java.net.URI |
toUri()
Returns a URI from this UriComponents instance. |
java.lang.String |
toUriString()
Returns a URI string from this UriComponents instance. |
private void |
verify()
Verifies all URI components to determine whether they contain any illegal characters, throwing an IllegalArgumentException if so. |
private static void |
verifyUriComponent(java.lang.String source,
UriComponents.Type type)
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static final java.lang.String DEFAULT_ENCODING
private static final char PATH_DELIMITER
private static final java.util.regex.Pattern NAMES_PATTERN
private final java.lang.String scheme
private final java.lang.String userInfo
private final java.lang.String host
private final int port
private final UriComponents.PathComponent path
private final MultiValueMap<java.lang.String,java.lang.String> queryParams
private final java.lang.String fragment
private final boolean encoded
static final UriComponents.PathComponent NULL_PATH_COMPONENT
Constructor Detail |
---|
UriComponents(java.lang.String scheme, java.lang.String userInfo, java.lang.String host, int port, UriComponents.PathComponent path, MultiValueMap<java.lang.String,java.lang.String> queryParams, java.lang.String fragment, boolean encoded, boolean verify)
UriComponents
instance from the given parameters. All
parameters are optional, and can be null
.
scheme
- the schemeuserInfo
- the user infohost
- the hostport
- the portpath
- the path componentqueryParams
- the query parametersfragment
- the fragmentencoded
- whether the components are encodedverify
- whether the components need to be verified to determine whether they contain illegal charactersMethod Detail |
---|
public java.lang.String getScheme()
null
.public java.lang.String getUserInfo()
null
.public java.lang.String getHost()
null
.public int getPort()
-1
if no port has been set.
public java.lang.String getPath()
null
.public java.util.List<java.lang.String> getPathSegments()
public java.lang.String getQuery()
null
.public MultiValueMap<java.lang.String,java.lang.String> getQueryParams()
public java.lang.String getFragment()
null
.public UriComponents encode()
UriComponents
instance. This method uses UTF-8 to encode.
public UriComponents encode(java.lang.String encoding) throws java.io.UnsupportedEncodingException
UriComponents
instance.
encoding
- the encoding of the values contained in this map
java.io.UnsupportedEncodingException
- if the given encoding is not supportedstatic java.lang.String encodeUriComponent(java.lang.String source, java.lang.String encoding, UriComponents.Type type) throws java.io.UnsupportedEncodingException
source
- the source stringencoding
- the encoding of the source stringtype
- the URI component for the source
java.lang.IllegalArgumentException
- when the given uri parameter is not a valid URI
java.io.UnsupportedEncodingException
private static byte[] encodeBytes(byte[] source, UriComponents.Type type)
private void verify()
IllegalArgumentException
if so.
java.lang.IllegalArgumentException
- if any of the components contain illegal charactersprivate static void verifyUriComponent(java.lang.String source, UriComponents.Type type)
public UriComponents expand(java.util.Map<java.lang.String,?> uriVariables)
uriVariables
- the map of URI variables
public UriComponents expand(java.lang.Object... uriVariableValues)
uriVariableValues
- URI variable values
private UriComponents expandInternal(UriComponents.UriTemplateVariables uriVariables)
private static 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 java.lang.String toUriString()
UriComponents
instance.
public java.net.URI toUri()
URI
from this UriComponents
instance.
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |