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.UriBuilder
public 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.UriBuilder
java.lang.IllegalArgumentException
public javax.ws.rs.core.UriBuilder uri(java.net.URI uri) throws java.lang.IllegalArgumentException
uri
in class javax.ws.rs.core.UriBuilder
java.lang.IllegalArgumentException
public javax.ws.rs.core.UriBuilder scheme(java.lang.String scheme) throws java.lang.IllegalArgumentException
scheme
in class javax.ws.rs.core.UriBuilder
java.lang.IllegalArgumentException
public javax.ws.rs.core.UriBuilder schemeSpecificPart(java.lang.String ssp) throws java.lang.IllegalArgumentException
schemeSpecificPart
in class javax.ws.rs.core.UriBuilder
java.lang.IllegalArgumentException
public javax.ws.rs.core.UriBuilder userInfo(java.lang.String ui)
userInfo
in class javax.ws.rs.core.UriBuilder
public javax.ws.rs.core.UriBuilder host(java.lang.String host) throws java.lang.IllegalArgumentException
host
in class javax.ws.rs.core.UriBuilder
java.lang.IllegalArgumentException
public javax.ws.rs.core.UriBuilder port(int port) throws java.lang.IllegalArgumentException
port
in class javax.ws.rs.core.UriBuilder
java.lang.IllegalArgumentException
protected 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.UriBuilder
java.lang.IllegalArgumentException
public javax.ws.rs.core.UriBuilder path(java.lang.Class resource) throws java.lang.IllegalArgumentException
path
in class javax.ws.rs.core.UriBuilder
java.lang.IllegalArgumentException
public 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.UriBuilder
java.lang.IllegalArgumentException
public javax.ws.rs.core.UriBuilder path(java.lang.reflect.Method method) throws java.lang.IllegalArgumentException
path
in class javax.ws.rs.core.UriBuilder
java.lang.IllegalArgumentException
public javax.ws.rs.core.UriBuilder replaceMatrix(java.lang.String matrix) throws java.lang.IllegalArgumentException
replaceMatrix
in class javax.ws.rs.core.UriBuilder
java.lang.IllegalArgumentException
public javax.ws.rs.core.UriBuilder replaceQuery(java.lang.String query) throws java.lang.IllegalArgumentException
replaceQuery
in class javax.ws.rs.core.UriBuilder
java.lang.IllegalArgumentException
public javax.ws.rs.core.UriBuilder fragment(java.lang.String fragment) throws java.lang.IllegalArgumentException
fragment
in class javax.ws.rs.core.UriBuilder
java.lang.IllegalArgumentException
public 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.UriBuilder
java.lang.IllegalArgumentException
javax.ws.rs.core.UriBuilderException
public 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.UriBuilder
java.lang.IllegalArgumentException
javax.ws.rs.core.UriBuilderException
public 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.UriBuilder
java.lang.IllegalArgumentException
javax.ws.rs.core.UriBuilderException
protected 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.IllegalArgumentException
javax.ws.rs.core.UriBuilderException
private 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.UriBuilder
java.lang.IllegalArgumentException
javax.ws.rs.core.UriBuilderException
protected 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.UriBuilder
java.lang.IllegalArgumentException
public 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.UriBuilder
java.lang.IllegalArgumentException
public 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.IllegalArgumentException
public 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.UriBuilder
java.lang.IllegalArgumentException
public 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.UriBuilder
java.lang.IllegalArgumentException
public 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.UriBuilder
java.lang.IllegalArgumentException
public java.net.URI buildFromEncoded(java.lang.Object... values) throws java.lang.IllegalArgumentException, javax.ws.rs.core.UriBuilderException
buildFromEncoded
in class javax.ws.rs.core.UriBuilder
java.lang.IllegalArgumentException
javax.ws.rs.core.UriBuilderException
public javax.ws.rs.core.UriBuilder replacePath(java.lang.String path)
replacePath
in class javax.ws.rs.core.UriBuilder
public 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.UriBuilder
java.lang.IllegalArgumentException
javax.ws.rs.core.UriBuilderException
public java.lang.String toTemplate()
toTemplate
in class javax.ws.rs.core.UriBuilder
public 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.UriBuilder
java.lang.IllegalArgumentException
public 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.UriBuilder
java.lang.IllegalArgumentException
public 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.UriBuilder
java.lang.IllegalArgumentException
public 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.UriBuilder
java.lang.IllegalArgumentException
public 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.UriBuilder
java.lang.IllegalArgumentException
public 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.UriBuilder
java.lang.IllegalArgumentException