public class ResteasyUriBuilder
extends javax.ws.rs.core.UriBuilder
| Modifier and Type | Class and Description |
|---|---|
private static class |
ResteasyUriBuilder.URITemplateParametersMap |
| Modifier and Type | Field and Description |
|---|---|
private java.lang.String |
authority |
private java.lang.String |
fragment |
static java.util.regex.Pattern |
hierarchicalUri |
private java.lang.String |
host |
private static java.util.regex.Pattern |
hostPortPattern |
static java.util.regex.Pattern |
opaqueUri |
private static java.util.regex.Pattern |
PARAM_REPLACEMENT |
private java.lang.String |
path |
private int |
port |
private java.lang.String |
query |
private java.lang.String |
scheme |
private java.lang.String |
ssp |
private java.lang.String |
userInfo |
| Constructor and Description |
|---|
ResteasyUriBuilder() |
| Modifier and Type | Method and Description |
|---|---|
private void |
addToPathParamList(java.util.List<java.lang.String> params,
java.util.HashSet<java.lang.String> set,
java.lang.String string) |
java.net.URI |
build(java.lang.Object... values) |
java.net.URI |
build(java.lang.Object[] values,
boolean encodeSlashInPath) |
java.net.URI |
buildFromEncoded(java.lang.Object... values) |
java.net.URI |
buildFromEncodedMap(java.util.Map<java.lang.String,? extends java.lang.Object> values) |
java.net.URI |
buildFromMap(java.util.Map<java.lang.String,?> values,
boolean encodeSlashInPath) |
java.net.URI |
buildFromMap(java.util.Map<java.lang.String,? extends java.lang.Object> values) |
protected java.net.URI |
buildFromValues(boolean encodeSlash,
boolean encoded,
java.lang.Object... values) |
private java.lang.String |
buildString(java.util.Map<java.lang.String,? extends java.lang.Object> paramMap,
boolean fromEncodedMap,
boolean isTemplate,
boolean encodeSlash) |
protected java.net.URI |
buildUriFromMap(java.util.Map<java.lang.String,? extends java.lang.Object> paramMap,
boolean fromEncodedMap,
boolean encodeSlash) |
javax.ws.rs.core.UriBuilder |
clientQueryParam(java.lang.String name,
java.lang.Object value)
Called by ClientRequest.getUri() to add a query parameter for
@QueryParam parameters. |
javax.ws.rs.core.UriBuilder |
clone() |
static boolean |
compare(java.lang.String s1,
java.lang.String s2) |
static java.util.regex.Matcher |
createUriParamMatcher(java.lang.String string) |
javax.ws.rs.core.UriBuilder |
fragment(java.lang.String fragment) |
static javax.ws.rs.core.UriBuilder |
fromTemplate(java.lang.String uriTemplate)
You may put path parameters anywhere within the uriTemplate except port
|
java.lang.String |
getFragment() |
java.lang.String |
getHost() |
java.lang.String |
getPath() |
java.util.List<java.lang.String> |
getPathParamNamesInDeclarationOrder()
Return a unique order list of path params
|
int |
getPort() |
java.lang.String |
getQuery() |
java.lang.String |
getScheme() |
java.lang.String |
getUserInfo() |
javax.ws.rs.core.UriBuilder |
host(java.lang.String host) |
javax.ws.rs.core.UriBuilder |
matrixParam(java.lang.String name,
java.lang.Object... values) |
protected javax.ws.rs.core.UriBuilder |
parseHierarchicalUri(java.lang.String uriTemplate,
java.util.regex.Matcher match) |
javax.ws.rs.core.UriBuilder |
path(java.lang.Class resource) |
javax.ws.rs.core.UriBuilder |
path(java.lang.Class resource,
java.lang.String method) |
javax.ws.rs.core.UriBuilder |
path(java.lang.reflect.Method method) |
javax.ws.rs.core.UriBuilder |
path(java.lang.String segment) |
protected static java.lang.String |
paths(boolean encode,
java.lang.String basePath,
java.lang.String... segments) |
javax.ws.rs.core.UriBuilder |
port(int port) |
javax.ws.rs.core.UriBuilder |
queryParam(java.lang.String name,
java.lang.Object... values) |
static java.net.URI |
relativize(java.net.URI from,
java.net.URI to) |
javax.ws.rs.core.UriBuilder |
replaceMatrix(java.lang.String matrix) |
javax.ws.rs.core.UriBuilder |
replaceMatrixParam(java.lang.String name,
java.lang.Object... values) |
protected java.lang.StringBuilder |
replaceParameter(java.util.Map<java.lang.String,? extends java.lang.Object> paramMap,
boolean fromEncodedMap,
boolean isTemplate,
java.lang.String string,
java.lang.StringBuilder builder,
boolean encodeSlash) |
javax.ws.rs.core.UriBuilder |
replacePath(java.lang.String path) |
protected java.lang.StringBuilder |
replacePathParameter(java.lang.String name,
java.lang.String value,
boolean isEncoded,
java.lang.String string,
java.lang.StringBuilder builder,
boolean encodeSlash) |
javax.ws.rs.core.UriBuilder |
replaceQuery(java.lang.String query) |
javax.ws.rs.core.UriBuilder |
replaceQueryParam(java.lang.String name,
java.lang.Object... values) |
protected java.lang.StringBuilder |
replaceQueryStringParameter(java.util.Map<java.lang.String,? extends java.lang.Object> paramMap,
boolean fromEncodedMap,
boolean isTemplate,
java.lang.String string,
java.lang.StringBuilder builder) |
javax.ws.rs.core.UriBuilder |
resolveTemplate(java.lang.String name,
java.lang.Object value) |
javax.ws.rs.core.UriBuilder |
resolveTemplate(java.lang.String name,
java.lang.Object value,
boolean encodeSlashInPath) |
javax.ws.rs.core.UriBuilder |
resolveTemplateFromEncoded(java.lang.String name,
java.lang.Object value) |
javax.ws.rs.core.UriBuilder |
resolveTemplates(java.util.Map<java.lang.String,java.lang.Object> templateValues) |
javax.ws.rs.core.UriBuilder |
resolveTemplates(java.util.Map<java.lang.String,java.lang.Object> templateValues,
boolean encodeSlashInPath) |
javax.ws.rs.core.UriBuilder |
resolveTemplatesFromEncoded(java.util.Map<java.lang.String,java.lang.Object> templateValues) |
javax.ws.rs.core.UriBuilder |
scheme(java.lang.String scheme) |
javax.ws.rs.core.UriBuilder |
schemeSpecificPart(java.lang.String ssp) |
javax.ws.rs.core.UriBuilder |
segment(java.lang.String... segments) |
javax.ws.rs.core.UriBuilder |
substitutePathParam(java.lang.String name,
java.lang.Object value,
boolean isEncoded)
Only replace path params in path of URI.
|
java.lang.String |
toTemplate() |
javax.ws.rs.core.UriBuilder |
uri(java.lang.String uriTemplate) |
javax.ws.rs.core.UriBuilder |
uri(java.net.URI uri) |
javax.ws.rs.core.UriBuilder |
uriTemplate(java.lang.String uriTemplate)
You may put path parameters anywhere within the uriTemplate except port
|
javax.ws.rs.core.UriBuilder |
userInfo(java.lang.String ui) |
private java.lang.String host
private java.lang.String scheme
private int port
private java.lang.String userInfo
private java.lang.String path
private java.lang.String query
private java.lang.String fragment
private java.lang.String ssp
private java.lang.String authority
public static final java.util.regex.Pattern opaqueUri
public static final java.util.regex.Pattern hierarchicalUri
private static final java.util.regex.Pattern hostPortPattern
private static final java.util.regex.Pattern PARAM_REPLACEMENT
public javax.ws.rs.core.UriBuilder clone()
clone in class javax.ws.rs.core.UriBuilderpublic static boolean compare(java.lang.String s1,
java.lang.String s2)
public static java.net.URI relativize(java.net.URI from,
java.net.URI to)
public static javax.ws.rs.core.UriBuilder fromTemplate(java.lang.String uriTemplate)
uriTemplate - public javax.ws.rs.core.UriBuilder uriTemplate(java.lang.String uriTemplate)
uriTemplate - protected javax.ws.rs.core.UriBuilder parseHierarchicalUri(java.lang.String uriTemplate,
java.util.regex.Matcher match)
public javax.ws.rs.core.UriBuilder uri(java.lang.String uriTemplate)
throws java.lang.IllegalArgumentException
uri in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder uri(java.net.URI uri)
throws java.lang.IllegalArgumentException
uri in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder scheme(java.lang.String scheme)
throws java.lang.IllegalArgumentException
scheme in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder schemeSpecificPart(java.lang.String ssp)
throws java.lang.IllegalArgumentException
schemeSpecificPart in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder userInfo(java.lang.String ui)
userInfo in class javax.ws.rs.core.UriBuilderpublic javax.ws.rs.core.UriBuilder host(java.lang.String host)
throws java.lang.IllegalArgumentException
host in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder port(int port)
throws java.lang.IllegalArgumentException
port in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionprotected static java.lang.String paths(boolean encode,
java.lang.String basePath,
java.lang.String... segments)
public javax.ws.rs.core.UriBuilder path(java.lang.String segment)
throws java.lang.IllegalArgumentException
path in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder path(java.lang.Class resource)
throws java.lang.IllegalArgumentException
path in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder path(java.lang.Class resource,
java.lang.String method)
throws java.lang.IllegalArgumentException
path in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder path(java.lang.reflect.Method method)
throws java.lang.IllegalArgumentException
path in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder replaceMatrix(java.lang.String matrix)
throws java.lang.IllegalArgumentException
replaceMatrix in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder replaceQuery(java.lang.String query)
throws java.lang.IllegalArgumentException
replaceQuery in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder fragment(java.lang.String fragment)
throws java.lang.IllegalArgumentException
fragment in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder substitutePathParam(java.lang.String name,
java.lang.Object value,
boolean isEncoded)
name - value - isEncoded - public java.net.URI buildFromMap(java.util.Map<java.lang.String,? extends java.lang.Object> values)
throws java.lang.IllegalArgumentException,
javax.ws.rs.core.UriBuilderException
buildFromMap in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionjavax.ws.rs.core.UriBuilderExceptionpublic java.net.URI buildFromEncodedMap(java.util.Map<java.lang.String,? extends java.lang.Object> values)
throws java.lang.IllegalArgumentException,
javax.ws.rs.core.UriBuilderException
buildFromEncodedMap in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionjavax.ws.rs.core.UriBuilderExceptionpublic java.net.URI buildFromMap(java.util.Map<java.lang.String,?> values,
boolean encodeSlashInPath)
throws java.lang.IllegalArgumentException,
javax.ws.rs.core.UriBuilderException
buildFromMap in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionjavax.ws.rs.core.UriBuilderExceptionprotected java.net.URI buildUriFromMap(java.util.Map<java.lang.String,? extends java.lang.Object> paramMap,
boolean fromEncodedMap,
boolean encodeSlash)
throws java.lang.IllegalArgumentException,
javax.ws.rs.core.UriBuilderException
java.lang.IllegalArgumentExceptionjavax.ws.rs.core.UriBuilderExceptionprivate java.lang.String buildString(java.util.Map<java.lang.String,? extends java.lang.Object> paramMap,
boolean fromEncodedMap,
boolean isTemplate,
boolean encodeSlash)
protected java.lang.StringBuilder replacePathParameter(java.lang.String name,
java.lang.String value,
boolean isEncoded,
java.lang.String string,
java.lang.StringBuilder builder,
boolean encodeSlash)
public static java.util.regex.Matcher createUriParamMatcher(java.lang.String string)
protected java.lang.StringBuilder replaceParameter(java.util.Map<java.lang.String,? extends java.lang.Object> paramMap,
boolean fromEncodedMap,
boolean isTemplate,
java.lang.String string,
java.lang.StringBuilder builder,
boolean encodeSlash)
protected java.lang.StringBuilder replaceQueryStringParameter(java.util.Map<java.lang.String,? extends java.lang.Object> paramMap,
boolean fromEncodedMap,
boolean isTemplate,
java.lang.String string,
java.lang.StringBuilder builder)
public java.util.List<java.lang.String> getPathParamNamesInDeclarationOrder()
private void addToPathParamList(java.util.List<java.lang.String> params,
java.util.HashSet<java.lang.String> set,
java.lang.String string)
public java.net.URI build(java.lang.Object... values)
throws java.lang.IllegalArgumentException,
javax.ws.rs.core.UriBuilderException
build in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionjavax.ws.rs.core.UriBuilderExceptionprotected java.net.URI buildFromValues(boolean encodeSlash,
boolean encoded,
java.lang.Object... values)
public javax.ws.rs.core.UriBuilder matrixParam(java.lang.String name,
java.lang.Object... values)
throws java.lang.IllegalArgumentException
matrixParam in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder replaceMatrixParam(java.lang.String name,
java.lang.Object... values)
throws java.lang.IllegalArgumentException
replaceMatrixParam in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder clientQueryParam(java.lang.String name,
java.lang.Object value)
throws java.lang.IllegalArgumentException
@QueryParam parameters. We do not use UriBuilder.queryParam()
because
@QueryParam parameters).
% characters that are followed by two hex characters).
The JavaDoc for @QueryParam.value() explicitly states that
the value is specified in decoded format and that "any percent
encoded literals within the value will not be decoded and will
instead be treated as literal text". This means that it is an
explicit bug to perform contextual URI encoding of this method's
name parameter; hence, we must always encode said parameter. This
method also foregoes contextual URI encoding on this method's value
parameter because it represents arbitrary data passed to a
QueryParam parameter of a client proxy (since the client
proxy is nothing more than a transport layer, it should not be
"interpreting" such data; instead, it should faithfully transmit
this data over the wire).
name - the name of the query parameter.value - the value of the query parameter.java.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder queryParam(java.lang.String name,
java.lang.Object... values)
throws java.lang.IllegalArgumentException
queryParam in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder replaceQueryParam(java.lang.String name,
java.lang.Object... values)
throws java.lang.IllegalArgumentException
replaceQueryParam in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic java.lang.String getHost()
public java.lang.String getScheme()
public int getPort()
public java.lang.String getUserInfo()
public java.lang.String getPath()
public java.lang.String getQuery()
public java.lang.String getFragment()
public javax.ws.rs.core.UriBuilder segment(java.lang.String... segments)
throws java.lang.IllegalArgumentException
segment in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic java.net.URI buildFromEncoded(java.lang.Object... values)
throws java.lang.IllegalArgumentException,
javax.ws.rs.core.UriBuilderException
buildFromEncoded in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionjavax.ws.rs.core.UriBuilderExceptionpublic javax.ws.rs.core.UriBuilder replacePath(java.lang.String path)
replacePath in class javax.ws.rs.core.UriBuilderpublic java.net.URI build(java.lang.Object[] values,
boolean encodeSlashInPath)
throws java.lang.IllegalArgumentException,
javax.ws.rs.core.UriBuilderException
build in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionjavax.ws.rs.core.UriBuilderExceptionpublic java.lang.String toTemplate()
toTemplate in class javax.ws.rs.core.UriBuilderpublic javax.ws.rs.core.UriBuilder resolveTemplate(java.lang.String name,
java.lang.Object value)
throws java.lang.IllegalArgumentException
resolveTemplate in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder resolveTemplates(java.util.Map<java.lang.String,java.lang.Object> templateValues)
throws java.lang.IllegalArgumentException
resolveTemplates in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder resolveTemplate(java.lang.String name,
java.lang.Object value,
boolean encodeSlashInPath)
throws java.lang.IllegalArgumentException
resolveTemplate in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder resolveTemplateFromEncoded(java.lang.String name,
java.lang.Object value)
throws java.lang.IllegalArgumentException
resolveTemplateFromEncoded in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder resolveTemplates(java.util.Map<java.lang.String,java.lang.Object> templateValues,
boolean encodeSlashInPath)
throws java.lang.IllegalArgumentException
resolveTemplates in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentExceptionpublic javax.ws.rs.core.UriBuilder resolveTemplatesFromEncoded(java.util.Map<java.lang.String,java.lang.Object> templateValues)
throws java.lang.IllegalArgumentException
resolveTemplatesFromEncoded in class javax.ws.rs.core.UriBuilderjava.lang.IllegalArgumentException