public class UriComponentsBuilder extends Object
UriComponents.
Typical usage involves:
UriComponentsBuilder with one of the static factory methods (such as
fromPath(String) or fromUri(URI))scheme(String),
userInfo(String), host(String), port(int), path(String),
pathSegment(String...), queryParam(String, Object...), and
fragment(String).UriComponents instance with the build() method.newInstance(),
fromPath(String),
fromUri(URI)| Modifier | Constructor and Description |
|---|---|
protected |
UriComponentsBuilder()
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
UriComponents |
build()
Builds a
UriComponents instance from the various components contained in this builder. |
UriComponents |
build(boolean encoded)
Builds a
UriComponents instance from the various components
contained in this builder. |
UriComponents |
buildAndExpand(Map<String,?> uriVariables)
Builds a
UriComponents instance and replaces URI template variables
with the values from a map. |
UriComponents |
buildAndExpand(Object... uriVariableValues)
Builds a
UriComponents instance and replaces URI template variables
with the values from an array. |
UriComponentsBuilder |
fragment(String fragment)
Sets the URI fragment.
|
static UriComponentsBuilder |
fromHttpUrl(String httpUrl)
Creates a new
UriComponents object from the string HTTP URL. |
static UriComponentsBuilder |
fromPath(String path)
Returns a builder that is initialized with the given path.
|
static UriComponentsBuilder |
fromUri(URI uri)
Returns a builder that is initialized with the given
URI. |
static UriComponentsBuilder |
fromUriString(String uri)
Returns a builder that is initialized with the given URI string.
|
UriComponentsBuilder |
host(String host)
Sets the URI host.
|
static UriComponentsBuilder |
newInstance()
Returns a new, empty builder.
|
UriComponentsBuilder |
path(String path)
Appends the given path to the existing path of this builder.
|
UriComponentsBuilder |
pathSegment(String... pathSegments)
Appends the given path segments to the existing path of this builder.
|
UriComponentsBuilder |
port(int port)
Sets the URI port.
|
UriComponentsBuilder |
query(String query)
Appends the given query to the existing query of this builder.
|
UriComponentsBuilder |
queryParam(String name,
Object... values)
Appends the given query parameter to the existing query parameters.
|
UriComponentsBuilder |
replacePath(String path)
Sets the path of this builder overriding all existing path and path segment values.
|
UriComponentsBuilder |
replaceQuery(String query)
Sets the query of this builder overriding all existing query parameters.
|
UriComponentsBuilder |
replaceQueryParam(String name,
Object... values)
Sets the query parameter values overriding all existing query values for
the same parameter.
|
UriComponentsBuilder |
scheme(String scheme)
Sets the URI scheme.
|
UriComponentsBuilder |
schemeSpecificPart(String ssp)
Set the URI scheme-specific-part.
|
UriComponentsBuilder |
uri(URI uri)
Initializes all components of this URI builder with the components of the given URI.
|
UriComponentsBuilder |
userInfo(String userInfo)
Sets the URI user info.
|
protected UriComponentsBuilder()
newInstance(),
fromPath(String),
fromUri(URI)public static UriComponentsBuilder newInstance()
UriComponentsBuilderpublic static UriComponentsBuilder fromPath(String path)
path - the path to initialize withUriComponentsBuilderpublic static UriComponentsBuilder fromUri(URI uri)
URI.uri - the URI to initialize withUriComponentsBuilderpublic static UriComponentsBuilder fromUriString(String uri)
Note: The presence of reserved characters can prevent
correct parsing of the URI string. For example if a query parameter
contains '=' or '&' characters, the query string cannot
be parsed unambiguously. Such values should be substituted for URI
variables to enable correct parsing:
String uriString = "/hotels/42?filter={value}";
UriComponentsBuilder.fromUriString(uriString).buildAndExpand("hot&cold");
uri - the URI string to initialize withUriComponentsBuilderpublic static UriComponentsBuilder fromHttpUrl(String httpUrl)
UriComponents object from the string HTTP URL.
Note: The presence of reserved characters can prevent
correct parsing of the URI string. For example if a query parameter
contains '=' or '&' characters, the query string cannot
be parsed unambiguously. Such values should be substituted for URI
variables to enable correct parsing:
String uriString = "/hotels/42?filter={value}";
UriComponentsBuilder.fromUriString(uriString).buildAndExpand("hot&cold");
httpUrl - the source URIpublic UriComponents build()
UriComponents instance from the various components contained in this builder.public UriComponents build(boolean encoded)
UriComponents instance from the various components
contained in this builder.encoded - whether all the components set in this builder are
encoded (true) or not (false).public UriComponents buildAndExpand(Map<String,?> uriVariables)
UriComponents instance and replaces URI template variables
with the values from a map. This is a shortcut method, which combines
calls to build() and then UriComponents.expand(Map).uriVariables - the map of URI variablespublic UriComponents buildAndExpand(Object... uriVariableValues)
UriComponents instance and replaces URI template variables
with the values from an array. This is a shortcut method, which combines
calls to build() and then UriComponents.expand(Object...).uriVariableValues - URI variable valuespublic UriComponentsBuilder uri(URI uri)
uri - the URIpublic UriComponentsBuilder scheme(String scheme)
null to clear the scheme of this builder.scheme - the URI schemepublic UriComponentsBuilder schemeSpecificPart(String ssp)
query.ssp - the URI scheme-specific-part, may contain URI template parameterspublic UriComponentsBuilder userInfo(String userInfo)
null to clear the user info of this
builder.userInfo - the URI user infopublic UriComponentsBuilder host(String host)
null to clear the host of this builder.host - the URI hostpublic UriComponentsBuilder port(int port)
-1 will clear the port of this builder.port - the URI portpublic UriComponentsBuilder path(String path)
path - the URI pathpublic UriComponentsBuilder replacePath(String path)
path - the URI path; a null value results in an empty path.public UriComponentsBuilder pathSegment(String... pathSegments) throws IllegalArgumentException
pathSegments - the URI path segmentsIllegalArgumentExceptionpublic UriComponentsBuilder query(String query)
Note: The presence of reserved characters can prevent
correct parsing of the URI string. For example if a query parameter
contains '=' or '&' characters, the query string cannot
be parsed unambiguously. Such values should be substituted for URI
variables to enable correct parsing:
String uriString = "/hotels/42?filter={value}";
UriComponentsBuilder.fromUriString(uriString).buildAndExpand("hot&cold");
query - the query stringpublic UriComponentsBuilder replaceQuery(String query)
query - the query string; a null value removes all query parameters.public UriComponentsBuilder queryParam(String name, Object... values)
?foo instead of ?foo=bar.name - the query parameter namevalues - the query parameter valuespublic UriComponentsBuilder replaceQueryParam(String name, Object... values)
name - the query parameter namevalues - the query parameter valuespublic UriComponentsBuilder fragment(String fragment)
null to clear the fragment of this
builder.fragment - the URI fragment