Interface WebTarget
-
- All Superinterfaces:
Configurable<WebTarget>
public interface WebTarget extends Configurable<WebTarget>
A resource target identified by the resource URI.- Since:
- 2.0
- Author:
- Marek Potociar
-
-
Method Summary
Modifier and Type Method Description URI
getUri()
Get the URI identifying the resource.UriBuilder
getUriBuilder()
Get the URI builder initialized with theURI
of the current resource target.WebTarget
matrixParam(String name, Object... values)
Create a newWebTarget
instance by appending a matrix parameter to the existing set of matrix parameters of the current final segment of the URI of the current target instance.WebTarget
path(String path)
Create a newWebTarget
instance by appending path to the URI of the current target instance.WebTarget
queryParam(String name, Object... values)
Create a newWebTarget
instance by configuring a query parameter on the URI of the current target instance.Invocation.Builder
request()
Start building a request to the targeted web resource.Invocation.Builder
request(String... acceptedResponseTypes)
Start building a request to the targeted web resource and define the accepted response media types.Invocation.Builder
request(MediaType... acceptedResponseTypes)
Start building a request to the targeted web resource and define the accepted response media types.WebTarget
resolveTemplate(String name, Object value)
Create a newWebTarget
instance by resolving a URI template with a givenname
in the URI of the current target instance using a supplied value.WebTarget
resolveTemplate(String name, Object value, boolean encodeSlashInPath)
Create a newWebTarget
instance by resolving a URI template with a givenname
in the URI of the current target instance using a supplied value.WebTarget
resolveTemplateFromEncoded(String name, Object value)
Create a newWebTarget
instance by resolving a URI template with a givenname
in the URI of the current target instance using a supplied encoded value.WebTarget
resolveTemplates(Map<String,Object> templateValues)
Create a newWebTarget
instance by resolving one or more URI templates in the URI of the current target instance using supplied name-value pairs.WebTarget
resolveTemplates(Map<String,Object> templateValues, boolean encodeSlashInPath)
Create a newWebTarget
instance by resolving one or more URI templates in the URI of the current target instance using supplied name-value pairs.WebTarget
resolveTemplatesFromEncoded(Map<String,Object> templateValues)
Create a newWebTarget
instance by resolving one or more URI templates in the URI of the current target instance using supplied name-encoded value pairs.
-
-
-
Method Detail
-
getUri
URI getUri()
Get the URI identifying the resource.- Returns:
- the resource URI.
-
getUriBuilder
UriBuilder getUriBuilder()
Get the URI builder initialized with theURI
of the current resource target. The returned URI builder is detached from the target, i.e. any updates in the URI builder MUST NOT have any effects on the URI of the originating target.- Returns:
- the initialized URI builder.
-
path
WebTarget path(String path)
Create a newWebTarget
instance by appending path to the URI of the current target instance.When constructing the final path, a '/' separator will be inserted between the existing path and the supplied path if necessary. Existing '/' characters are preserved thus a single value can represent multiple URI path segments.
A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.
- Parameters:
path
- the path, may contain URI template parameters.- Returns:
- a new target instance.
- Throws:
NullPointerException
- if path isnull
.
-
resolveTemplate
WebTarget resolveTemplate(String name, Object value)
Create a newWebTarget
instance by resolving a URI template with a givenname
in the URI of the current target instance using a supplied value. In case anull
template name or value is entered aNullPointerException
is thrown.A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.
- Parameters:
name
- name of the URI template.value
- value to be used to resolve the template.- Returns:
- a new target instance.
- Throws:
NullPointerException
- if the resolved template name or value isnull
.
-
resolveTemplate
WebTarget resolveTemplate(String name, Object value, boolean encodeSlashInPath)
Create a newWebTarget
instance by resolving a URI template with a givenname
in the URI of the current target instance using a supplied value. In case anull
template name or value is entered aNullPointerException
is thrown.A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.
- Parameters:
name
- name of the URI template.value
- value to be used to resolve the template.encodeSlashInPath
- iftrue
, the slash ('/'
) characters in template values will be encoded if the template is placed in the URI path component, otherwise the slash characters will not be encoded in path templates.- Returns:
- a new target instance.
- Throws:
NullPointerException
- if the resolved template name or value isnull
.
-
resolveTemplateFromEncoded
WebTarget resolveTemplateFromEncoded(String name, Object value)
Create a newWebTarget
instance by resolving a URI template with a givenname
in the URI of the current target instance using a supplied encoded value. A template with a matching name will be replaced by the supplied value. Value is converted toString
using itstoString()
method and is then encoded to match the rules of the URI component to which they pertain. All % characters in the stringified values that are not followed by two hexadecimal numbers will be encoded. In case anull
template name or value is entered aNullPointerException
is thrown.A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.
- Parameters:
name
- name of the URI template.value
- encoded value to be used to resolve the template.- Returns:
- a new target instance.
- Throws:
NullPointerException
- if the resolved template name or value isnull
.
-
resolveTemplates
WebTarget resolveTemplates(Map<String,Object> templateValues)
Create a newWebTarget
instance by resolving one or more URI templates in the URI of the current target instance using supplied name-value pairs. A call to the method with an empty parameter map is ignored, i.e. sameWebTarget
instance is returned.A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.
- Parameters:
templateValues
- a map of URI template names and their values.- Returns:
- a new target instance or the same target instance in case the input name-value map is empty.
- Throws:
NullPointerException
- if the name-value map or any of the names or values in the map isnull
.
-
resolveTemplates
WebTarget resolveTemplates(Map<String,Object> templateValues, boolean encodeSlashInPath)
Create a newWebTarget
instance by resolving one or more URI templates in the URI of the current target instance using supplied name-value pairs. A call to the method with an empty parameter map is ignored, i.e. sameWebTarget
instance is returned.A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.
- Parameters:
templateValues
- a map of URI template names and their values.encodeSlashInPath
- iftrue
, the slash ('/'
) characters in template values will be encoded if the template is placed in the URI path component, otherwise the slash characters will not be encoded in path templates.- Returns:
- a new target instance or the same target instance in case the input name-value map is empty.
- Throws:
NullPointerException
- if the name-value map or any of the names or values in the map isnull
.
-
resolveTemplatesFromEncoded
WebTarget resolveTemplatesFromEncoded(Map<String,Object> templateValues)
Create a newWebTarget
instance by resolving one or more URI templates in the URI of the current target instance using supplied name-encoded value pairs. All templates with their name matching one of the keys in the supplied map will be replaced by the value in the supplied map. Values are converted toString
using theirtoString()
method and are then encoded to match the rules of the URI component to which they pertain. All % characters in the stringified values that are not followed by two hexadecimal numbers will be encoded. A call to the method with an empty parameter map is ignored, i.e. sameWebTarget
instance is returned.A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.
- Parameters:
templateValues
- a map of URI template names and their encoded values.- Returns:
- a new target instance or the same target instance in case the input name-value map is empty.
- Throws:
NullPointerException
- if the name-value map or any of the names or encoded values in the map isnull
.
-
matrixParam
WebTarget matrixParam(String name, Object... values)
Create a newWebTarget
instance by appending a matrix parameter to the existing set of matrix parameters of the current final segment of the URI of the current target instance. If multiple values are supplied the parameter will be added once per value. In case a singlenull
value is entered, all parameters with that name in the current final path segment are removed (if present) from the collection of last segment matrix parameters inherited from the current target.Note that the matrix parameters are tied to a particular path segment; appending a value to an existing matrix parameter name will not affect the position of the matrix parameter in the URI path.
A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.
- Parameters:
name
- the matrix parameter name, may contain URI template parameters.values
- the matrix parameter value(s), each object will be converted to aString
using itstoString()
method. Stringified values may contain URI template parameters.- Returns:
- a new target instance.
- Throws:
NullPointerException
- if the parameter name isnull
or if there are multiple values present and any of those values isnull
.- See Also:
- Matrix URIs
-
queryParam
WebTarget queryParam(String name, Object... values)
Create a newWebTarget
instance by configuring a query parameter on the URI of the current target instance. If multiple values are supplied the parameter will be added once per value. In case a singlenull
value is entered, all parameters with that name are removed (if present) from the collection of query parameters inherited from the current target.A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.
- Parameters:
name
- the query parameter name, may contain URI template parametersvalues
- the query parameter value(s), each object will be converted to aString
using itstoString()
method. Stringified values may contain URI template parameters.- Returns:
- a new target instance.
- Throws:
NullPointerException
- if the parameter name isnull
or if there are multiple values present and any of those values isnull
.
-
request
Invocation.Builder request()
Start building a request to the targeted web resource.- Returns:
- builder for a request targeted at the URI referenced by this target instance.
-
request
Invocation.Builder request(String... acceptedResponseTypes)
Start building a request to the targeted web resource and define the accepted response media types.Invoking this method is identical to:
webTarget.request().accept(types);
- Parameters:
acceptedResponseTypes
- accepted response media types.- Returns:
- builder for a request targeted at the URI referenced by this target instance.
-
request
Invocation.Builder request(MediaType... acceptedResponseTypes)
Start building a request to the targeted web resource and define the accepted response media types.Invoking this method is identical to:
webTarget.request().accept(types);
- Parameters:
acceptedResponseTypes
- accepted response media types.- Returns:
- builder for a request targeted at the URI referenced by this target instance.
-
-