Package org.jboss.resteasy.spi
Class ResteasyUriBuilder
- java.lang.Object
-
- javax.ws.rs.core.UriBuilder
-
- org.jboss.resteasy.spi.ResteasyUriBuilder
-
- Direct Known Subclasses:
ResteasyUriBuilderImpl
public abstract class ResteasyUriBuilder extends javax.ws.rs.core.UriBuilder
-
-
Field Summary
Fields Modifier and Type Field Description static PatternhierarchicalUristatic PatternopaqueUri
-
Constructor Summary
Constructors Constructor Description ResteasyUriBuilder()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract javax.ws.rs.core.UriBuilderclientQueryParam(String name, Object... values)Called by ClientRequest.getUri() to add a query parameter for@QueryParamparameters.abstract javax.ws.rs.core.UriBuilderclone()static booleancompare(String s1, String s2)static ResteasyUriBuilderfromTemplate(String uriTemplate)You may put path parameters anywhere within the uriTemplate except port.abstract StringgetFragment()abstract StringgetHost()abstract StringgetPath()abstract List<String>getPathParamNamesInDeclarationOrder()Return a unique order list of path params.abstract intgetPort()abstract StringgetQuery()abstract StringgetScheme()abstract StringgetUserInfo()static URIrelativize(URI from, URI to)abstract javax.ws.rs.core.UriBuildersubstitutePathParam(String name, Object value, boolean isEncoded)Only replace path params in path of URI.abstract javax.ws.rs.core.UriBuilderuriFromCharSequence(CharSequence uriTemplate)abstract javax.ws.rs.core.UriBuilderuriTemplate(CharSequence uriTemplate)You may put path parameters anywhere within the uriTemplate except port.-
Methods inherited from class javax.ws.rs.core.UriBuilder
build, build, buildFromEncoded, buildFromEncodedMap, buildFromMap, buildFromMap, fragment, fromLink, fromMethod, fromPath, fromResource, fromUri, fromUri, host, matrixParam, newInstance, path, path, path, path, port, queryParam, replaceMatrix, replaceMatrixParam, replacePath, replaceQuery, replaceQueryParam, resolveTemplate, resolveTemplate, resolveTemplateFromEncoded, resolveTemplates, resolveTemplates, resolveTemplatesFromEncoded, scheme, schemeSpecificPart, segment, toTemplate, uri, uri, userInfo
-
-
-
-
Method Detail
-
clone
public abstract javax.ws.rs.core.UriBuilder clone()
- Specified by:
clonein classjavax.ws.rs.core.UriBuilder
-
fromTemplate
public static ResteasyUriBuilder fromTemplate(String uriTemplate)
You may put path parameters anywhere within the uriTemplate except port.- Parameters:
uriTemplate- uri template- Returns:
- uri builder
-
uriTemplate
public abstract javax.ws.rs.core.UriBuilder uriTemplate(CharSequence uriTemplate)
You may put path parameters anywhere within the uriTemplate except port.- Parameters:
uriTemplate- uri template- Returns:
- uri builder
-
uriFromCharSequence
public abstract javax.ws.rs.core.UriBuilder uriFromCharSequence(CharSequence uriTemplate) throws IllegalArgumentException
- Throws:
IllegalArgumentException
-
substitutePathParam
public abstract 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- parameter namevalue- parameter valueisEncoded- encoded flag- Returns:
- uri builder
-
getPathParamNamesInDeclarationOrder
public abstract List<String> getPathParamNamesInDeclarationOrder()
Return a unique order list of path params.- Returns:
- list of path parameters
-
clientQueryParam
public abstract javax.ws.rs.core.UriBuilder clientQueryParam(String name, Object... values) 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 values 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.values- the value(s) 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
-
getHost
public abstract String getHost()
-
getScheme
public abstract String getScheme()
-
getPort
public abstract int getPort()
-
getUserInfo
public abstract String getUserInfo()
-
getPath
public abstract String getPath()
-
getQuery
public abstract String getQuery()
-
getFragment
public abstract String getFragment()
-
-