Package org.jboss.resteasy.specimpl
Class ResteasyUriBuilder
java.lang.Object
javax.ws.rs.core.UriBuilder
org.jboss.resteasy.specimpl.ResteasyUriBuilder
public class ResteasyUriBuilder
extends javax.ws.rs.core.UriBuilder
- Version:
- $Revision: 1 $
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidbuildFromEncoded(Object... values) buildFromEncodedMap(Map<String, ? extends Object> values) buildFromMap(Map<String, ?> values, boolean encodeSlashInPath) buildFromMap(Map<String, ? extends Object> values) protected URIbuildFromValues(boolean encodeSlash, boolean encoded, Object... values) private StringbuildString(Map<String, ? extends Object> paramMap, boolean fromEncodedMap, boolean isTemplate, boolean encodeSlash) protected URIbuildUriFromMap(Map<String, ? extends Object> paramMap, boolean fromEncodedMap, boolean encodeSlash) javax.ws.rs.core.UriBuilderclientQueryParam(String name, Object value) Called by ClientRequest.getUri() to add a query parameter for@QueryParamparameters.javax.ws.rs.core.UriBuilderclone()static booleanstatic MatchercreateUriParamMatcher(String string) javax.ws.rs.core.UriBuilderstatic javax.ws.rs.core.UriBuilderfromTemplate(String uriTemplate) You may put path parameters anywhere within the uriTemplate except portgetHost()getPath()Return a unique order list of path paramsintgetPort()getQuery()javax.ws.rs.core.UriBuilderjavax.ws.rs.core.UriBuildermatrixParam(String name, Object... values) protected javax.ws.rs.core.UriBuilderparseHierarchicalUri(String uriTemplate, Matcher match) javax.ws.rs.core.UriBuilderjavax.ws.rs.core.UriBuilderjavax.ws.rs.core.UriBuilderjavax.ws.rs.core.UriBuilderprotected static Stringjavax.ws.rs.core.UriBuilderport(int port) javax.ws.rs.core.UriBuilderqueryParam(String name, Object... values) static URIrelativize(URI from, URI to) javax.ws.rs.core.UriBuilderreplaceMatrix(String matrix) javax.ws.rs.core.UriBuilderreplaceMatrixParam(String name, Object... values) protected StringBuilderreplaceParameter(Map<String, ? extends Object> paramMap, boolean fromEncodedMap, boolean isTemplate, String string, StringBuilder builder, boolean encodeSlash) javax.ws.rs.core.UriBuilderreplacePath(String path) protected StringBuilderreplacePathParameter(String name, String value, boolean isEncoded, String string, StringBuilder builder, boolean encodeSlash) javax.ws.rs.core.UriBuilderreplaceQuery(String query) javax.ws.rs.core.UriBuilderreplaceQueryParam(String name, Object... values) protected StringBuilderreplaceQueryStringParameter(Map<String, ? extends Object> paramMap, boolean fromEncodedMap, boolean isTemplate, String string, StringBuilder builder) javax.ws.rs.core.UriBuilderresolveTemplate(String name, Object value) javax.ws.rs.core.UriBuilderresolveTemplate(String name, Object value, boolean encodeSlashInPath) javax.ws.rs.core.UriBuilderresolveTemplateFromEncoded(String name, Object value) javax.ws.rs.core.UriBuilderresolveTemplates(Map<String, Object> templateValues) javax.ws.rs.core.UriBuilderresolveTemplates(Map<String, Object> templateValues, boolean encodeSlashInPath) javax.ws.rs.core.UriBuilderresolveTemplatesFromEncoded(Map<String, Object> templateValues) javax.ws.rs.core.UriBuilderjavax.ws.rs.core.UriBuilderschemeSpecificPart(String ssp) javax.ws.rs.core.UriBuilderjavax.ws.rs.core.UriBuildersubstitutePathParam(String name, Object value, boolean isEncoded) Only replace path params in path of URI.javax.ws.rs.core.UriBuilderjavax.ws.rs.core.UriBuilderjavax.ws.rs.core.UriBuilderuriTemplate(String uriTemplate) You may put path parameters anywhere within the uriTemplate except portjavax.ws.rs.core.UriBuilderMethods inherited from class javax.ws.rs.core.UriBuilder
fromLink, fromMethod, fromPath, fromResource, fromUri, fromUri, newInstance
-
Field Details
-
host
-
scheme
-
port
private int port -
userInfo
-
path
-
query
-
fragment
-
ssp
-
authority
-
opaqueUri
-
hierarchicalUri
-
hostPortPattern
-
PARAM_REPLACEMENT
-
-
Constructor Details
-
ResteasyUriBuilder
public ResteasyUriBuilder()
-
-
Method Details
-
clone
public javax.ws.rs.core.UriBuilder clone()- Specified by:
clonein classjavax.ws.rs.core.UriBuilder
-
compare
-
relativize
-
fromTemplate
You may put path parameters anywhere within the uriTemplate except port- Parameters:
uriTemplate-- Returns:
-
uriTemplate
You may put path parameters anywhere within the uriTemplate except port- Parameters:
uriTemplate-- Returns:
-
parseHierarchicalUri
-
uri
- Specified by:
uriin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
uri
- Specified by:
uriin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
scheme
- Specified by:
schemein classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
schemeSpecificPart
- Specified by:
schemeSpecificPartin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
userInfo
- Specified by:
userInfoin classjavax.ws.rs.core.UriBuilder
-
host
- Specified by:
hostin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
port
- Specified by:
portin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
paths
-
path
- Specified by:
pathin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
path
- Specified by:
pathin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
path
public javax.ws.rs.core.UriBuilder path(Class resource, String method) throws IllegalArgumentException - Specified by:
pathin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
path
- Specified by:
pathin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
replaceMatrix
- Specified by:
replaceMatrixin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
replaceQuery
- Specified by:
replaceQueryin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
fragment
- Specified by:
fragmentin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
substitutePathParam
public javax.ws.rs.core.UriBuilder substitutePathParam(String name, Object value, boolean isEncoded) Only replace path params in path of URI. This changes state of URIBuilder.- Parameters:
name-value-isEncoded-- Returns:
-
buildFromMap
public URI buildFromMap(Map<String, ? extends Object> values) throws IllegalArgumentException, javax.ws.rs.core.UriBuilderException- Specified by:
buildFromMapin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentExceptionjavax.ws.rs.core.UriBuilderException
-
buildFromEncodedMap
public URI buildFromEncodedMap(Map<String, ? extends Object> values) throws IllegalArgumentException, javax.ws.rs.core.UriBuilderException- Specified by:
buildFromEncodedMapin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentExceptionjavax.ws.rs.core.UriBuilderException
-
buildFromMap
public URI buildFromMap(Map<String, ?> values, boolean encodeSlashInPath) throws IllegalArgumentException, javax.ws.rs.core.UriBuilderException- Specified by:
buildFromMapin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentExceptionjavax.ws.rs.core.UriBuilderException
-
buildUriFromMap
protected URI buildUriFromMap(Map<String, ? extends Object> paramMap, boolean fromEncodedMap, boolean encodeSlash) throws IllegalArgumentException, javax.ws.rs.core.UriBuilderException- Throws:
IllegalArgumentExceptionjavax.ws.rs.core.UriBuilderException
-
buildString
-
replacePathParameter
protected StringBuilder replacePathParameter(String name, String value, boolean isEncoded, String string, StringBuilder builder, boolean encodeSlash) -
createUriParamMatcher
-
replaceParameter
protected StringBuilder replaceParameter(Map<String, ? extends Object> paramMap, boolean fromEncodedMap, boolean isTemplate, String string, StringBuilder builder, boolean encodeSlash) -
replaceQueryStringParameter
protected StringBuilder replaceQueryStringParameter(Map<String, ? extends Object> paramMap, boolean fromEncodedMap, boolean isTemplate, String string, StringBuilder builder) -
getPathParamNamesInDeclarationOrder
Return a unique order list of path params- Returns:
-
addToPathParamList
-
build
public URI build(Object... values) throws IllegalArgumentException, javax.ws.rs.core.UriBuilderException - Specified by:
buildin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentExceptionjavax.ws.rs.core.UriBuilderException
-
buildFromValues
-
matrixParam
public javax.ws.rs.core.UriBuilder matrixParam(String name, Object... values) throws IllegalArgumentException - Specified by:
matrixParamin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
replaceMatrixParam
public javax.ws.rs.core.UriBuilder replaceMatrixParam(String name, Object... values) throws IllegalArgumentException - Specified by:
replaceMatrixParamin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
clientQueryParam
public javax.ws.rs.core.UriBuilder clientQueryParam(String name, Object value) throws IllegalArgumentException Called by ClientRequest.getUri() to add a query parameter for@QueryParamparameters. We do not use UriBuilder.queryParam() because- queryParam() supports URI template processing and this method must
always encode braces (for parameter substitution is not possible for
@QueryParamparameters). - queryParam() supports "contextual URI encoding" (i.e., it does not
encode
%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 aQueryParamparameter 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).
- Parameters:
name- the name of the query parameter.value- the value of the query parameter.- Returns:
- Returns this instance to allow call chaining.
- Throws:
IllegalArgumentException
- queryParam() supports URI template processing and this method must
always encode braces (for parameter substitution is not possible for
-
queryParam
public javax.ws.rs.core.UriBuilder queryParam(String name, Object... values) throws IllegalArgumentException - Specified by:
queryParamin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
replaceQueryParam
public javax.ws.rs.core.UriBuilder replaceQueryParam(String name, Object... values) throws IllegalArgumentException - Specified by:
replaceQueryParamin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
getHost
-
getScheme
-
getPort
public int getPort() -
getUserInfo
-
getPath
-
getQuery
-
getFragment
-
segment
- Specified by:
segmentin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
buildFromEncoded
public URI buildFromEncoded(Object... values) throws IllegalArgumentException, javax.ws.rs.core.UriBuilderException - Specified by:
buildFromEncodedin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentExceptionjavax.ws.rs.core.UriBuilderException
-
replacePath
- Specified by:
replacePathin classjavax.ws.rs.core.UriBuilder
-
build
public URI build(Object[] values, boolean encodeSlashInPath) throws IllegalArgumentException, javax.ws.rs.core.UriBuilderException - Specified by:
buildin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentExceptionjavax.ws.rs.core.UriBuilderException
-
toTemplate
- Specified by:
toTemplatein classjavax.ws.rs.core.UriBuilder
-
resolveTemplate
public javax.ws.rs.core.UriBuilder resolveTemplate(String name, Object value) throws IllegalArgumentException - Specified by:
resolveTemplatein classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
resolveTemplates
public javax.ws.rs.core.UriBuilder resolveTemplates(Map<String, Object> templateValues) throws IllegalArgumentException- Specified by:
resolveTemplatesin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
resolveTemplate
public javax.ws.rs.core.UriBuilder resolveTemplate(String name, Object value, boolean encodeSlashInPath) throws IllegalArgumentException - Specified by:
resolveTemplatein classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
resolveTemplateFromEncoded
public javax.ws.rs.core.UriBuilder resolveTemplateFromEncoded(String name, Object value) throws IllegalArgumentException - Specified by:
resolveTemplateFromEncodedin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
resolveTemplates
public javax.ws.rs.core.UriBuilder resolveTemplates(Map<String, Object> templateValues, boolean encodeSlashInPath) throws IllegalArgumentException- Specified by:
resolveTemplatesin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-
resolveTemplatesFromEncoded
public javax.ws.rs.core.UriBuilder resolveTemplatesFromEncoded(Map<String, Object> templateValues) throws IllegalArgumentException- Specified by:
resolveTemplatesFromEncodedin classjavax.ws.rs.core.UriBuilder- Throws:
IllegalArgumentException
-