org.glassfish.jersey.client
Class JerseyWebTarget

java.lang.Object
  extended by org.glassfish.jersey.client.JerseyWebTarget
All Implemented Interfaces:
WebTarget

public class JerseyWebTarget
extends java.lang.Object
implements WebTarget

Jersey implementation of JAX-RS client target contract.

Author:
Marek Potociar (marek.potociar at oracle.com)

Constructor Summary
protected JerseyWebTarget(UriBuilder uriBuilder, ClientConfig clientConfig)
          Create new web target instance.
protected JerseyWebTarget(UriBuilder uriBuilder, JerseyWebTarget that)
          Create new web target instance.
 
Method Summary
 ClientConfig configuration()
          Get access to the underlying configuration.
 java.net.URI getUri()
          Get the URI identifying the resource.
 UriBuilder getUriBuilder()
          Get the URI builder initialized with the URI of the current resource target.
 JerseyWebTarget matrixParam(java.lang.String name, java.lang.Object... values)
          Create a new WebTarget 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.
 JerseyWebTarget path(java.lang.String path)
          Create a new WebTarget instance by appending path to the URI of the current target instance.
 JerseyWebTarget queryParam(java.lang.String name, java.lang.Object... values)
          Create a new WebTarget instance by configuring a query parameter on the URI of the current target instance.
 JerseyInvocation.Builder request()
          Start building a request to the targeted web resource.
 JerseyInvocation.Builder request(MediaType... acceptedResponseTypes)
          Start building a request to the targeted web resource and define the accepted response media types.
 JerseyInvocation.Builder request(java.lang.String... acceptedResponseTypes)
          Start building a request to the targeted web resource and define the accepted response media types.
 JerseyWebTarget resolveTemplate(java.lang.String name, java.lang.Object value)
          Create a new WebTarget instance by resolving a URI template with a given name in the URI of the current target instance using a supplied value.
 JerseyWebTarget resolveTemplate(java.lang.String name, java.lang.Object value, boolean encodeSlashInPath)
          Create a new WebTarget instance by resolving a URI template with a given name in the URI of the current target instance using a supplied value.
 JerseyWebTarget resolveTemplateFromEncoded(java.lang.String name, java.lang.Object value)
          Create a new WebTarget instance by resolving a URI template with a given name in the URI of the current target instance using a supplied encoded value.
 JerseyWebTarget resolveTemplates(java.util.Map<java.lang.String,java.lang.Object> templateValues)
          Create a new WebTarget instance by resolving one or more URI templates in the URI of the current target instance using supplied name-value pairs.
 JerseyWebTarget resolveTemplates(java.util.Map<java.lang.String,java.lang.Object> templateValues, boolean encodeSlashInPath)
          Create a new WebTarget instance by resolving one or more URI templates in the URI of the current target instance using supplied name-value pairs.
 JerseyWebTarget resolveTemplatesFromEncoded(java.util.Map<java.lang.String,java.lang.Object> templateValues)
          Create a new WebTarget instance by resolving one or more URI templates in the URI of the current target instance using supplied name-encoded value pairs.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JerseyWebTarget

protected JerseyWebTarget(UriBuilder uriBuilder,
                          JerseyWebTarget that)
Create new web target instance.

Parameters:
uriBuilder - builder for the target URI.
that - original target to copy the internal data from.

JerseyWebTarget

protected JerseyWebTarget(UriBuilder uriBuilder,
                          ClientConfig clientConfig)
Create new web target instance.

Parameters:
uriBuilder - builder for the target URI.
clientConfig - target configuration.
Method Detail

getUri

public java.net.URI getUri()
Description copied from interface: WebTarget
Get the URI identifying the resource.

Specified by:
getUri in interface WebTarget
Returns:
the resource URI.

getUriBuilder

public UriBuilder getUriBuilder()
Description copied from interface: WebTarget
Get the URI builder initialized with the URI 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.

Specified by:
getUriBuilder in interface WebTarget
Returns:
the initialized URI builder.

configuration

public ClientConfig configuration()
Description copied from interface: WebTarget
Get access to the underlying configuration.

Specified by:
configuration in interface WebTarget
Returns:
a mutable configuration bound to the instance.

path

public JerseyWebTarget path(java.lang.String path)
                     throws java.lang.NullPointerException
Description copied from interface: WebTarget
Create a new WebTarget 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.

Specified by:
path in interface WebTarget
Parameters:
path - the path, may contain URI template parameters.
Returns:
a new target instance.
Throws:
java.lang.NullPointerException - if path is null.

matrixParam

public JerseyWebTarget matrixParam(java.lang.String name,
                                   java.lang.Object... values)
                            throws java.lang.NullPointerException
Description copied from interface: WebTarget
Create a new WebTarget 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 single null 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.

Specified by:
matrixParam in interface WebTarget
Parameters:
name - the matrix parameter name, may contain URI template parameters.
values - the matrix parameter value(s), each object will be converted to a String using its toString() method. Stringified values may contain URI template parameters.
Returns:
a new target instance.
Throws:
java.lang.NullPointerException - if the parameter name is null or if there are multiple values present and any of those values is null.
See Also:
Matrix URIs

queryParam

public JerseyWebTarget queryParam(java.lang.String name,
                                  java.lang.Object... values)
                           throws java.lang.NullPointerException
Description copied from interface: WebTarget
Create a new WebTarget 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 single null 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.

Specified by:
queryParam in interface WebTarget
Parameters:
name - the query parameter name, may contain URI template parameters
values - the query parameter value(s), each object will be converted to a String using its toString() method. Stringified values may contain URI template parameters.
Returns:
a new target instance.
Throws:
java.lang.NullPointerException - if the parameter name is null or if there are multiple values present and any of those values is null.

request

public JerseyInvocation.Builder request()
Description copied from interface: WebTarget
Start building a request to the targeted web resource.

Specified by:
request in interface WebTarget
Returns:
builder for a request targeted at the URI referenced by this target instance.

request

public JerseyInvocation.Builder request(java.lang.String... acceptedResponseTypes)
Description copied from interface: WebTarget
Start building a request to the targeted web resource and define the accepted response media types.

Specified by:
request in interface WebTarget
Parameters:
acceptedResponseTypes - accepted response media types.
Returns:
builder for a request targeted at the URI referenced by this target instance.

request

public JerseyInvocation.Builder request(MediaType... acceptedResponseTypes)
Description copied from interface: WebTarget
Start building a request to the targeted web resource and define the accepted response media types.

Specified by:
request in interface WebTarget
Parameters:
acceptedResponseTypes - accepted response media types.
Returns:
builder for a request targeted at the URI referenced by this target instance.

resolveTemplate

public JerseyWebTarget resolveTemplate(java.lang.String name,
                                       java.lang.Object value)
                                throws java.lang.NullPointerException
Description copied from interface: WebTarget
Create a new WebTarget instance by resolving a URI template with a given name in the URI of the current target instance using a supplied value. In case a null template name or value is entered a NullPointerException 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.

Specified by:
resolveTemplate in interface WebTarget
Parameters:
name - name of the URI template.
value - value to be used to resolve the template.
Returns:
a new target instance.
Throws:
java.lang.NullPointerException - if the resolved template name or value is null.

resolveTemplate

public JerseyWebTarget resolveTemplate(java.lang.String name,
                                       java.lang.Object value,
                                       boolean encodeSlashInPath)
                                throws java.lang.NullPointerException
Description copied from interface: WebTarget
Create a new WebTarget instance by resolving a URI template with a given name in the URI of the current target instance using a supplied value. In case a null template name or value is entered a NullPointerException 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.

Specified by:
resolveTemplate in interface WebTarget
Parameters:
name - name of the URI template.
value - value to be used to resolve the template.
encodeSlashInPath - if true, 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:
java.lang.NullPointerException - if the resolved template name or value is null.

resolveTemplateFromEncoded

public JerseyWebTarget resolveTemplateFromEncoded(java.lang.String name,
                                                  java.lang.Object value)
                                           throws java.lang.NullPointerException
Description copied from interface: WebTarget
Create a new WebTarget instance by resolving a URI template with a given name 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 to String using its toString() 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 a null template name or value is entered a NullPointerException 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.

Specified by:
resolveTemplateFromEncoded in interface WebTarget
Parameters:
name - name of the URI template.
value - encoded value to be used to resolve the template.
Returns:
a new target instance.
Throws:
java.lang.NullPointerException - if the resolved template name or value is null.

resolveTemplates

public JerseyWebTarget resolveTemplates(java.util.Map<java.lang.String,java.lang.Object> templateValues)
                                 throws java.lang.NullPointerException
Description copied from interface: WebTarget
Create a new WebTarget 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. same WebTarget 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.

Specified by:
resolveTemplates in interface WebTarget
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:
java.lang.NullPointerException - if the name-value map or any of the names or values in the map is null.

resolveTemplates

public JerseyWebTarget resolveTemplates(java.util.Map<java.lang.String,java.lang.Object> templateValues,
                                        boolean encodeSlashInPath)
                                 throws java.lang.NullPointerException
Description copied from interface: WebTarget
Create a new WebTarget 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. same WebTarget 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.

Specified by:
resolveTemplates in interface WebTarget
Parameters:
templateValues - a map of URI template names and their values.
encodeSlashInPath - if true, 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:
java.lang.NullPointerException - if the name-value map or any of the names or values in the map is null.

resolveTemplatesFromEncoded

public JerseyWebTarget resolveTemplatesFromEncoded(java.util.Map<java.lang.String,java.lang.Object> templateValues)
                                            throws java.lang.NullPointerException
Description copied from interface: WebTarget
Create a new WebTarget 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 to 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 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. same WebTarget 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.

Specified by:
resolveTemplatesFromEncoded in interface WebTarget
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:
java.lang.NullPointerException - if the name-value map or any of the names or encoded values in the map is null.


Copyright © 2007-2012 Oracle Corporation. All Rights Reserved. Use is subject to license terms.