|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.ws.rs.core.UriBuilder
org.restlet.ext.jaxrs.AbstractUriBuilder
org.restlet.ext.jaxrs.ExtendedUriBuilder
public class ExtendedUriBuilder
This UriBuilder
extension provides special help for "file"
extensions. They will not be removed, if path will be changed (e.g. replaced,
removed or matrix parameters added). For further information see
extension(String)
, extensionLanguage(String)
and
extensionMedia(String)
. You could get an instance with an
ExtendedUriInfo
.
Constructor Summary | |
---|---|
ExtendedUriBuilder()
|
Method Summary | |
---|---|
URI |
build(Object... values)
Build a URI, using the supplied values in order to replace any URI template parameters. |
URI |
buildFromEncoded(Object... values)
|
URI |
buildFromEncodedMap(Map<String,? extends Object> values)
|
URI |
buildFromMap(Map<String,? extends Object> values)
|
ExtendedUriBuilder |
clone()
|
ExtendedUriBuilder |
extension(String extensions)
Set the extension that will be appended to the final path segment at build time. |
ExtendedUriBuilder |
extensionLanguage(String language)
Appends an extension for the language ("de", "en", "fr" or whatever). |
ExtendedUriBuilder |
extensionMedia(String mediaExtension)
Appends an extension for the media type ("html", "pdf", "gif" or whatever). |
ExtendedUriBuilder |
fragment(String fragment)
Set the URI fragment using an unencoded value. |
static ExtendedUriBuilder |
fromPath(String path)
Create a new instance representing a relative URI initialized from a URI path. |
static ExtendedUriBuilder |
fromResource(Class<?> resource)
Create a new instance representing a relative URI initialized from a root resource class. |
static ExtendedUriBuilder |
fromUri(String uri)
Create a new instance initialized from an existing URI. |
static ExtendedUriBuilder |
fromUri(URI uri)
Create a new instance initialized from an existing URI. |
String |
getExtension()
Returns the extension of the current uri, if available. |
ExtendedUriBuilder |
host(String host)
Set the URI host. |
ExtendedUriBuilder |
matrixParam(String name,
Object... values)
Append a matrix parameter to the existing set of matrix parameters of the current final segment of the URI path. |
static ExtendedUriBuilder |
newInstance()
Creates a new instance of UriBuilder. |
ExtendedUriBuilder |
path(Class resource)
Append path segments from a Path-annotated class to the existing list of segments. |
ExtendedUriBuilder |
path(Class resource,
String methodName)
Append path segments from a Path-annotated method to the existing list of segments. |
ExtendedUriBuilder |
path(Method method)
Append the path from a Path -annotated method to the
existing path. |
ExtendedUriBuilder |
path(String pathToAppend)
Append path to the existing path. |
ExtendedUriBuilder |
port(int port)
Set the URI port. |
ExtendedUriBuilder |
port(String port)
Set the URI port. |
ExtendedUriBuilder |
queryParam(String name,
Object... values)
Append a query parameter to the existing set of query parameters. |
ExtendedUriBuilder |
replaceMatrix(String matrix)
Set the matrix parameters of the current final segment of the current URI path. |
ExtendedUriBuilder |
replaceMatrixParam(String name,
Object... values)
|
ExtendedUriBuilder |
replacePath(String newPath)
Set the URI path. |
ExtendedUriBuilder |
replaceQuery(String query)
Set the URI query string. |
ExtendedUriBuilder |
replaceQueryParam(String name,
Object... values)
|
ExtendedUriBuilder |
scheme(String scheme)
Set the URI scheme. |
ExtendedUriBuilder |
schemeSpecificPart(String ssp)
Set the URI scheme-specific-part (see URI ). |
ExtendedUriBuilder |
segment(String... segments)
Append path segments to the existing path. |
String |
toString()
Returns the actual URI as String. |
ExtendedUriBuilder |
uri(URI uri)
Copies the non-null components of the supplied URI to the UriBuilder replacing any existing values for those components. |
ExtendedUriBuilder |
userInfo(String ui)
Set the URI user-info. |
Methods inherited from class org.restlet.ext.jaxrs.AbstractUriBuilder |
---|
copyInto, path, replacePath |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public ExtendedUriBuilder()
Method Detail |
---|
public static ExtendedUriBuilder fromPath(String path) throws IllegalArgumentException
path
- a URI path that will be used to initialize the UriBuilder, may
contain URI template parameters.
IllegalArgumentException
- if path is nullpublic static ExtendedUriBuilder fromResource(Class<?> resource) throws IllegalArgumentException
resource
- a root resource whose Path
value will be
used to initialize the UriBuilder.
IllegalArgumentException
- if resource is not annotated with Path
or
resource is null.public static ExtendedUriBuilder fromUri(String uri) throws IllegalArgumentException
uri
- a URI that will be used to initialize the UriBuilder, may not
contain URI parameters.
IllegalArgumentException
- if uri is not a valid URI or is nullpublic static ExtendedUriBuilder fromUri(URI uri) throws IllegalArgumentException
uri
- a URI that will be used to initialize the UriBuilder.
IllegalArgumentException
- if uri is nullpublic static ExtendedUriBuilder newInstance()
public ExtendedUriBuilder clone()
clone
in class javax.ws.rs.core.UriBuilder
public ExtendedUriBuilder extension(String extensions)
Note that the extension will be appended to the path component, matrix and query parameters will follow any appended extension.
extensions
- the extensions to append at build time, a null value will
result in no extension being appended.
public ExtendedUriBuilder extensionLanguage(String language)
null
resets the language extension.
language
-
ExtendedUriBuilder
public ExtendedUriBuilder extensionMedia(String mediaExtension)
null
resets the media type extension.
mediaExtension
-
public ExtendedUriBuilder fragment(String fragment)
fragment
in class AbstractUriBuilder
fragment
- the URI fragment, may contain URI template parameters
UriBuilder.fragment(java.lang.String)
public String getExtension()
getExtension
in class AbstractUriBuilder
null
if no extension is available. Never
returns "" or ".".public ExtendedUriBuilder host(String host) throws IllegalArgumentException
host
in class AbstractUriBuilder
host
- the URI host, may contain URI template parameters
IllegalArgumentException
- if host is invalid or is nullUriBuilder.host(java.lang.String)
public ExtendedUriBuilder matrixParam(String name, Object... values) throws IllegalArgumentException
matrixParam
in class AbstractUriBuilder
name
- the matrix parameter name, may contain URI template parametersvalues
- the matrix parameter value(s), each object will be converted
to a String
using its toString()
method.
Stringified values may contain URI template parameters.
IllegalArgumentException
- if name or value is null, or if automatic encoding is
disabled and the name or any stringified value contains
illegal charactersUriBuilder.matrixParam(String, Object...)
public ExtendedUriBuilder path(Class resource) throws IllegalArgumentException
Path
but it will not be used to modify the state of
automatic encoding for the builder.
path
in class AbstractUriBuilder
resource
- a resource whose @Path value will be used to obtain the
path segment.
IllegalArgumentException
- if resource is null, or if resource.encode is false and
resource.value contains illegal characters, or if resource is
not annotated with UrPathUriBuilder.path(java.lang.Class)
public ExtendedUriBuilder path(Class resource, String methodName) throws IllegalArgumentException
path(Method)
, it can only be used in cases where there is a
single method with the specified name that is annotated with @
Path
.
path
in class AbstractUriBuilder
resource
- the root resource class containing the method.methodName
- the name of the method whose @Path
value will be
used to obtain the path segment.
IllegalArgumentException
- if resource or method is null, or if the specified method
does not exist, or there is more than or less than one
variant of the method annotated with UriPathUriBuilder.path(java.lang.Class, java.lang.String)
public ExtendedUriBuilder path(Method method) throws IllegalArgumentException
Path
-annotated method to the
existing path. When constructing the final path, a '/' separator will be
inserted between the existing path and the supplied path if necessary.
path
in class AbstractUriBuilder
method
- a method whose Path
value will be used to
obtain the path to append to the existing path
IllegalArgumentException
- if any element of methods is null or is not annotated with a
Path
UriBuilder.path(java.lang.reflect.Method)
public ExtendedUriBuilder path(String pathToAppend) throws IllegalArgumentException
path
in class AbstractUriBuilder
pathToAppend
- the path to append to the current path, may contain URI
template parameters
IllegalArgumentException
- if path is nullUriBuilder.path(java.lang.String)
public ExtendedUriBuilder port(int port) throws IllegalArgumentException
port
in class AbstractUriBuilder
port
- the URI port, a value of -1 will unset an explicit port.
IllegalArgumentException
- if port is invalidUriBuilder.port(int)
public ExtendedUriBuilder port(String port) throws IllegalArgumentException
port
in class AbstractUriBuilder
port
- the URI port (null will unset an explicit port) or a template
variable.
IllegalArgumentException
- if given value is invalidAbstractUriBuilder.port(int)
public ExtendedUriBuilder queryParam(String name, Object... values) throws IllegalArgumentException
queryParam
in class AbstractUriBuilder
name
- the query parameter name, may contain URI template parametersvalues
- the query parameter value(s), each object will be converted to
a String
using its toString()
method.
Stringified values may contain URI template parameters.
IllegalArgumentException
- if name or value is null, or if automatic encoding is
disabled and name or value contains illegal charactersUriBuilder.queryParam(String, Object...)
public ExtendedUriBuilder replaceMatrix(String matrix) throws IllegalArgumentException
replaceMatrix
in class AbstractUriBuilder
matrix
- the matrix parameters, may contain URI template parameters. A
null value will remove all matrix parameters of the current
final segment of the current URI path.
IllegalArgumentException
- if matrix cannot be parsed, or if automatic encoding is
disabled and any matrix parameter name or value contains
illegal charactersUriBuilder.replaceMatrix(String)
public ExtendedUriBuilder replaceMatrixParam(String name, Object... values) throws IllegalArgumentException
replaceMatrixParam
in class AbstractUriBuilder
IllegalArgumentException
UriBuilder.replaceMatrixParam(java.lang.String,
java.lang.Object[])
public ExtendedUriBuilder replacePath(String newPath)
replacePath
in class AbstractUriBuilder
newPath
- the path to replace the old path with, may contain URI
template parameters. A null value will unset the path
component of the URI.
UriBuilder.replacePath(java.lang.String)
public ExtendedUriBuilder replaceQuery(String query) throws IllegalArgumentException
replaceQuery
in class AbstractUriBuilder
query
- the URI query string, may contain URI template parameters. A
null value will remove all query parameters.
IllegalArgumentException
- if query cannot be parsedUriBuilder.replaceQuery(java.lang.String)
public ExtendedUriBuilder replaceQueryParam(String name, Object... values) throws IllegalArgumentException
replaceQueryParam
in class AbstractUriBuilder
IllegalArgumentException
UriBuilder.replaceQueryParam(String, Object[])
public ExtendedUriBuilder scheme(String scheme) throws IllegalArgumentException
scheme
in class AbstractUriBuilder
scheme
- the URI scheme, may contain URI template parameters
IllegalArgumentException
- if scheme is invalid or is nullUriBuilder.scheme(java.lang.String)
public ExtendedUriBuilder schemeSpecificPart(String ssp) throws IllegalArgumentException
URI
). This method
will overwrite any existing values for authority, user-info, host, port
and path.
schemeSpecificPart
in class AbstractUriBuilder
ssp
- the URI scheme-specific-part, may contain URI template
parameters
IllegalArgumentException
- if ssp cannot be parsed or is nullUriBuilder.schemeSpecificPart(java.lang.String)
public ExtendedUriBuilder segment(String... segments) throws IllegalArgumentException
segment
in class AbstractUriBuilder
segments
- the path segment values, each may contain URI template
parameters
IllegalArgumentException
- if segments or any element of segments is nullUriBuilder.segment(java.lang.String[])
public ExtendedUriBuilder uri(URI uri) throws IllegalArgumentException
uri
in class AbstractUriBuilder
uri
- the URI to copy components from
IllegalArgumentException
- if uri is nullUriBuilder.uri(java.net.URI)
public ExtendedUriBuilder userInfo(String ui)
userInfo
in class AbstractUriBuilder
ui
- the URI user-info, may contain URI template parameters
UriBuilder.userInfo(java.lang.String)
public URI build(Object... values) throws IllegalArgumentException, javax.ws.rs.core.UriBuilderException
String
using
their toString
method and are then encoded to match the
rules of the URI component to which they pertain. All '%' characters in
the stringified values will be encoded. The state of the builder is
unaffected; this method may be called multiple times on the same builder
instance.
All instances of the same template parameter will be replaced by the same value that corresponds to the position of the first instance of the template parameter. e.g. the template "{a}/{b}/{a}" with values {"x", "y", "z"} will result in the the URI "x/y/x", not "x/y/z".
build
in class AbstractUriBuilder
values
- a list of URI template parameter values
IllegalArgumentException
- if there are any URI template parameters without a supplied
value, or if a value is null.
javax.ws.rs.core.UriBuilderException
- if a URI cannot be constructed based on the current state of
the builder.UriBuilder.build(java.lang.Object[])
public URI buildFromEncoded(Object... values) throws IllegalArgumentException, javax.ws.rs.core.UriBuilderException
buildFromEncoded
in class AbstractUriBuilder
IllegalArgumentException
javax.ws.rs.core.UriBuilderException
UriBuilder.buildFromEncoded(java.lang.Object[])
public URI buildFromEncodedMap(Map<String,? extends Object> values) throws IllegalArgumentException, javax.ws.rs.core.UriBuilderException
buildFromEncodedMap
in class AbstractUriBuilder
IllegalArgumentException
javax.ws.rs.core.UriBuilderException
UriBuilder.buildFromEncodedMap(java.util.Map)
public URI buildFromMap(Map<String,? extends Object> values) throws IllegalArgumentException, javax.ws.rs.core.UriBuilderException
buildFromMap
in class AbstractUriBuilder
IllegalArgumentException
javax.ws.rs.core.UriBuilderException
UriBuilder.buildFromMap(java.util.Map)
public String toString()
toString
in class AbstractUriBuilder
AbstractUriBuilder.toStringWithCheck(boolean)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |