com.sun.jersey.api.client
Class AsyncWebResource

java.lang.Object
  extended by com.sun.jersey.api.client.filter.Filterable
      extended by com.sun.jersey.api.client.AsyncWebResource
All Implemented Interfaces:
AsyncUniformInterface, RequestBuilder<AsyncWebResource.Builder>

public final class AsyncWebResource
extends Filterable
implements RequestBuilder<AsyncWebResource.Builder>, AsyncUniformInterface

An encapsulation of an asynchronous Web resource capable of building requests to send to the Web resource and processing responses returned from the Web resource.

A AsyncWebResource instance is obtained from the Client.

The Web resource implements the UniformInterface to invoke the HTTP method on the Web resource. A client request may be built before invocation on the uniform interface.

Methods to create a request and return a response are thread-safe. Methods that modify filters are not guaranteed to be thread-safe.

Author:
Paul.Sandoz@Sun.Com

Nested Class Summary
 class AsyncWebResource.Builder
          The builder for building a ClientRequest instance and handling the request using the UniformInterface.
 
Method Summary
 AsyncWebResource.Builder accept(javax.ws.rs.core.MediaType... types)
          Add acceptable media types.
 AsyncWebResource.Builder accept(java.lang.String... types)
          Add acceptable media types.
 AsyncWebResource.Builder acceptLanguage(java.util.Locale... locales)
          Add acceptable languages
 AsyncWebResource.Builder acceptLanguage(java.lang.String... locales)
          Add acceptable languages
 AsyncWebResource.Builder cookie(javax.ws.rs.core.Cookie cookie)
          Add a cookie to be set.
 java.util.concurrent.Future<?> delete()
          Invoke the DELETE method with no request entity or response.
<T> java.util.concurrent.Future<T>
delete(java.lang.Class<T> c)
          Invoke the DELETE method with no request entity that returns a response.
<T> java.util.concurrent.Future<T>
delete(java.lang.Class<T> c, java.lang.Object requestEntity)
          Invoke the DELETE method with a request entity that returns a response.
<T> java.util.concurrent.Future<T>
delete(GenericType<T> gt)
          Invoke the DELETE method with a request entity that returns a response.
<T> java.util.concurrent.Future<T>
delete(GenericType<T> gt, java.lang.Object requestEntity)
          Invoke the DELETE method with a request entity that returns a response.
 java.util.concurrent.Future<?> delete(java.lang.Object requestEntity)
          Invoke the DELETE method with a request entity but no response.
 AsyncWebResource.Builder entity(java.lang.Object entity)
          Set the request entity.
 AsyncWebResource.Builder entity(java.lang.Object entity, javax.ws.rs.core.MediaType type)
          Set the request entity it's media type.
 AsyncWebResource.Builder entity(java.lang.Object entity, java.lang.String type)
          Set the request entity it's media type.
<T> java.util.concurrent.Future<T>
get(java.lang.Class<T> c)
          Invoke the GET method.
<T> java.util.concurrent.Future<T>
get(GenericType<T> gt)
          Invoke the GET method.
 javax.ws.rs.core.UriBuilder getBuilder()
          Get the URI builder to the resource.
 java.net.URI getURI()
          Get the URI to the resource.
 java.util.concurrent.Future<ClientResponse> head()
          Invoke the HEAD method.
 AsyncWebResource.Builder header(java.lang.String name, java.lang.Object value)
          Add an HTTP header and value.
 java.util.concurrent.Future<?> method(java.lang.String method)
          Invoke a HTTP method with no request entity or response.
<T> java.util.concurrent.Future<T>
method(java.lang.String method, java.lang.Class<T> c)
          Invoke a HTTP method with no request entity that returns a response.
<T> java.util.concurrent.Future<T>
method(java.lang.String method, java.lang.Class<T> c, java.lang.Object requestEntity)
          Invoke a HTTP method with a request entity that returns a response.
<T> java.util.concurrent.Future<T>
method(java.lang.String method, GenericType<T> gt)
          Invoke a HTTP method with no request entity that returns a response.
<T> java.util.concurrent.Future<T>
method(java.lang.String method, GenericType<T> gt, java.lang.Object requestEntity)
          Invoke a HTTP method with a request entity that returns a response.
 java.util.concurrent.Future<?> method(java.lang.String method, java.lang.Object requestEntity)
          Invoke a HTTP method with a request entity but no response.
<T> java.util.concurrent.Future<T>
options(java.lang.Class<T> c)
          Invoke the OPTIONS method.
<T> java.util.concurrent.Future<T>
options(GenericType<T> gt)
          Invoke the OPTIONS method.
 AsyncWebResource path(java.lang.String path)
          Create a new AsyncWebResource from this web resource with an additional path added to the URI of this web resource.
 java.util.concurrent.Future<?> post()
          Invoke the POST method with no request entity or response.
<T> java.util.concurrent.Future<T>
post(java.lang.Class<T> c)
          Invoke the POST method with no request entity that returns a response.
<T> java.util.concurrent.Future<T>
post(java.lang.Class<T> c, java.lang.Object requestEntity)
          Invoke the POST method with a request entity that returns a response.
<T> java.util.concurrent.Future<T>
post(GenericType<T> gt)
          Invoke the POST method with a request entity that returns a response.
<T> java.util.concurrent.Future<T>
post(GenericType<T> gt, java.lang.Object requestEntity)
          Invoke the POST method with a request entity that returns a response.
 java.util.concurrent.Future<?> post(java.lang.Object requestEntity)
          Invoke the POST method with a request entity but no response.
 java.util.concurrent.Future<?> put()
          Invoke the PUT method with no request entity or response.
<T> java.util.concurrent.Future<T>
put(java.lang.Class<T> c)
          Invoke the PUT method with no request entity that returns a response.
<T> java.util.concurrent.Future<T>
put(java.lang.Class<T> c, java.lang.Object requestEntity)
          Invoke the PUT method with a request entity that returns a response.
<T> java.util.concurrent.Future<T>
put(GenericType<T> gt)
          Invoke the PUT method with a request entity that returns a response.
<T> java.util.concurrent.Future<T>
put(GenericType<T> gt, java.lang.Object requestEntity)
          Invoke the PUT method with a request entity that returns a response.
 java.util.concurrent.Future<?> put(java.lang.Object requestEntity)
          Invoke the PUT method with a request entity but no response.
 AsyncWebResource.Builder type(javax.ws.rs.core.MediaType type)
          Set the media type.
 AsyncWebResource.Builder type(java.lang.String type)
          Set the media type.
 AsyncWebResource uri(java.net.URI uri)
          Create a new AsyncWebResource from this web resource.
 
Methods inherited from class com.sun.jersey.api.client.filter.Filterable
addFilter, getHeadHandler, removeAllFilters, removeFilter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getURI

public java.net.URI getURI()
Get the URI to the resource.

Returns:
the URI.

getBuilder

public javax.ws.rs.core.UriBuilder getBuilder()
Get the URI builder to the resource.

Returns:
the URI builder.

head

public java.util.concurrent.Future<ClientResponse> head()
Description copied from interface: AsyncUniformInterface
Invoke the HEAD method.

Specified by:
head in interface AsyncUniformInterface
Returns:
the HTTP response.

options

public <T> java.util.concurrent.Future<T> options(java.lang.Class<T> c)
Description copied from interface: AsyncUniformInterface
Invoke the OPTIONS method.

Specified by:
options in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
c - the type of the returned response.
Returns:
an instance of type c.

options

public <T> java.util.concurrent.Future<T> options(GenericType<T> gt)
                                       throws UniformInterfaceException
Description copied from interface: AsyncUniformInterface
Invoke the OPTIONS method.

Specified by:
options in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
gt - the generic type of the returned response.
Returns:
an instance of type represented by the generic type.
Throws:
UniformInterfaceException - if the status of the HTTP response is greater than or equal to 300 and gt does not represent the type ClientResponse.

get

public <T> java.util.concurrent.Future<T> get(java.lang.Class<T> c)
Description copied from interface: AsyncUniformInterface
Invoke the GET method.

Specified by:
get in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
c - the type of the returned response.
Returns:
an instance of type c.

get

public <T> java.util.concurrent.Future<T> get(GenericType<T> gt)
                                   throws UniformInterfaceException
Description copied from interface: AsyncUniformInterface
Invoke the GET method.

Specified by:
get in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
gt - the generic type of the returned response.
Returns:
an instance of type represented by the generic type.
Throws:
UniformInterfaceException - if the status of the HTTP response is greater than or equal to 300 and gt does not represent the type ClientResponse.

put

public java.util.concurrent.Future<?> put()
Description copied from interface: AsyncUniformInterface
Invoke the PUT method with no request entity or response.

If the status code is less than 300 and a representation is present then that representation is ignored.

Specified by:
put in interface AsyncUniformInterface
Returns:
a void future.

put

public java.util.concurrent.Future<?> put(java.lang.Object requestEntity)
Description copied from interface: AsyncUniformInterface
Invoke the PUT method with a request entity but no response.

If the status code is less than 300 and a representation is present then that representation is ignored.

Specified by:
put in interface AsyncUniformInterface
Parameters:
requestEntity - the request entity.
Returns:
a void future.

put

public <T> java.util.concurrent.Future<T> put(java.lang.Class<T> c)
Description copied from interface: AsyncUniformInterface
Invoke the PUT method with no request entity that returns a response.

Specified by:
put in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
c - the type of the returned response.
Returns:
an instance of type c.

put

public <T> java.util.concurrent.Future<T> put(GenericType<T> gt)
                                   throws UniformInterfaceException
Description copied from interface: AsyncUniformInterface
Invoke the PUT method with a request entity that returns a response.

Specified by:
put in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
gt - the generic type of the returned response.
Returns:
an instance of type represented by the generic type.
Throws:
UniformInterfaceException - if the status of the HTTP response is greater than or equal to 300 and gt does not represent the type ClientResponse.

put

public <T> java.util.concurrent.Future<T> put(java.lang.Class<T> c,
                                              java.lang.Object requestEntity)
Description copied from interface: AsyncUniformInterface
Invoke the PUT method with a request entity that returns a response.

Specified by:
put in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
c - the type of the returned response.
requestEntity - the request entity.
Returns:
an instance of type c.

put

public <T> java.util.concurrent.Future<T> put(GenericType<T> gt,
                                              java.lang.Object requestEntity)
                                   throws UniformInterfaceException
Description copied from interface: AsyncUniformInterface
Invoke the PUT method with a request entity that returns a response.

Specified by:
put in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
gt - the generic type of the returned response.
requestEntity - the request entity.
Returns:
an instance of type represented by the generic type.
Throws:
UniformInterfaceException - if the status of the HTTP response is greater than or equal to 300 and gt does not represent the type ClientResponse.

post

public java.util.concurrent.Future<?> post()
Description copied from interface: AsyncUniformInterface
Invoke the POST method with no request entity or response.

If the status code is less than 300 and a representation is present then that representation is ignored.

Specified by:
post in interface AsyncUniformInterface
Returns:
a void future.

post

public java.util.concurrent.Future<?> post(java.lang.Object requestEntity)
Description copied from interface: AsyncUniformInterface
Invoke the POST method with a request entity but no response.

If the status code is less than 300 and a representation is present then that representation is ignored.

Specified by:
post in interface AsyncUniformInterface
Parameters:
requestEntity - the request entity.
Returns:
a void future.

post

public <T> java.util.concurrent.Future<T> post(java.lang.Class<T> c)
Description copied from interface: AsyncUniformInterface
Invoke the POST method with no request entity that returns a response.

Specified by:
post in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
c - the type of the returned response.
Returns:
an instance of type c.

post

public <T> java.util.concurrent.Future<T> post(GenericType<T> gt)
                                    throws UniformInterfaceException
Description copied from interface: AsyncUniformInterface
Invoke the POST method with a request entity that returns a response.

Specified by:
post in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
gt - the generic type of the returned response.
Returns:
an instance of type represented by the generic type.
Throws:
UniformInterfaceException - if the status of the HTTP response is greater than or equal to 300 and gt does not represent the type ClientResponse.

post

public <T> java.util.concurrent.Future<T> post(java.lang.Class<T> c,
                                               java.lang.Object requestEntity)
Description copied from interface: AsyncUniformInterface
Invoke the POST method with a request entity that returns a response.

Specified by:
post in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
c - the type of the returned response.
requestEntity - the request entity.
Returns:
an instance of type c.

post

public <T> java.util.concurrent.Future<T> post(GenericType<T> gt,
                                               java.lang.Object requestEntity)
                                    throws UniformInterfaceException
Description copied from interface: AsyncUniformInterface
Invoke the POST method with a request entity that returns a response.

Specified by:
post in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
gt - the generic type of the returned response.
requestEntity - the request entity.
Returns:
an instance of type represented by the generic type.
Throws:
UniformInterfaceException - if the status of the HTTP response is greater than or equal to 300 and gt does not represent the type ClientResponse.

delete

public java.util.concurrent.Future<?> delete()
Description copied from interface: AsyncUniformInterface
Invoke the DELETE method with no request entity or response.

If the status code is less than 300 and a representation is present then that representation is ignored.

Specified by:
delete in interface AsyncUniformInterface
Returns:
a void future.

delete

public java.util.concurrent.Future<?> delete(java.lang.Object requestEntity)
Description copied from interface: AsyncUniformInterface
Invoke the DELETE method with a request entity but no response.

If the status code is less than 300 and a representation is present then that representation is ignored.

Specified by:
delete in interface AsyncUniformInterface
Parameters:
requestEntity - the request entity.
Returns:
a void future.

delete

public <T> java.util.concurrent.Future<T> delete(java.lang.Class<T> c)
Description copied from interface: AsyncUniformInterface
Invoke the DELETE method with no request entity that returns a response.

Specified by:
delete in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
c - the type of the returned response.
Returns:
an instance of type c.

delete

public <T> java.util.concurrent.Future<T> delete(GenericType<T> gt)
                                      throws UniformInterfaceException
Description copied from interface: AsyncUniformInterface
Invoke the DELETE method with a request entity that returns a response.

Specified by:
delete in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
gt - the generic type of the returned response.
Returns:
an instance of type represented by the generic type.
Throws:
UniformInterfaceException - if the status of the HTTP response is greater than or equal to 300 and gt does not represent the type ClientResponse.

delete

public <T> java.util.concurrent.Future<T> delete(java.lang.Class<T> c,
                                                 java.lang.Object requestEntity)
Description copied from interface: AsyncUniformInterface
Invoke the DELETE method with a request entity that returns a response.

Specified by:
delete in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
c - the type of the returned response.
requestEntity - the request entity.
Returns:
an instance of type c.

delete

public <T> java.util.concurrent.Future<T> delete(GenericType<T> gt,
                                                 java.lang.Object requestEntity)
                                      throws UniformInterfaceException
Description copied from interface: AsyncUniformInterface
Invoke the DELETE method with a request entity that returns a response.

Specified by:
delete in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
gt - the generic type of the returned response.
requestEntity - the request entity.
Returns:
an instance of type represented by the generic type.
Throws:
UniformInterfaceException - if the status of the HTTP response is greater than or equal to 300 and gt does not represent the type ClientResponse.

method

public java.util.concurrent.Future<?> method(java.lang.String method)
Description copied from interface: AsyncUniformInterface
Invoke a HTTP method with no request entity or response.

If the status code is less than 300 and a representation is present then that representation is ignored.

Specified by:
method in interface AsyncUniformInterface
Parameters:
method - the HTTP method.
Returns:
a void future.

method

public java.util.concurrent.Future<?> method(java.lang.String method,
                                             java.lang.Object requestEntity)
Description copied from interface: AsyncUniformInterface
Invoke a HTTP method with a request entity but no response.

If the status code is less than 300 and a representation is present then that representation is ignored.

Specified by:
method in interface AsyncUniformInterface
Parameters:
method - the HTTP method.
requestEntity - the request entity.
Returns:
a void future.

method

public <T> java.util.concurrent.Future<T> method(java.lang.String method,
                                                 java.lang.Class<T> c)
Description copied from interface: AsyncUniformInterface
Invoke a HTTP method with no request entity that returns a response.

Specified by:
method in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
method - the HTTP method.
c - the type of the returned response.
Returns:
an instance of type c.

method

public <T> java.util.concurrent.Future<T> method(java.lang.String method,
                                                 GenericType<T> gt)
                                      throws UniformInterfaceException
Description copied from interface: AsyncUniformInterface
Invoke a HTTP method with no request entity that returns a response.

Specified by:
method in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
method - the HTTP method.
gt - the generic type of the returned response.
Returns:
an instance of type represented by the generic type.
Throws:
UniformInterfaceException - if the status of the HTTP response is greater than or equal to 300 and gt does not represent the type ClientResponse.

method

public <T> java.util.concurrent.Future<T> method(java.lang.String method,
                                                 java.lang.Class<T> c,
                                                 java.lang.Object requestEntity)
Description copied from interface: AsyncUniformInterface
Invoke a HTTP method with a request entity that returns a response.

Specified by:
method in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
method - the HTTP method.
c - the type of the returned response.
requestEntity - the request entity.
Returns:
an instance of type c.

method

public <T> java.util.concurrent.Future<T> method(java.lang.String method,
                                                 GenericType<T> gt,
                                                 java.lang.Object requestEntity)
                                      throws UniformInterfaceException
Description copied from interface: AsyncUniformInterface
Invoke a HTTP method with a request entity that returns a response.

Specified by:
method in interface AsyncUniformInterface
Type Parameters:
T - the type of the response.
Parameters:
method - the HTTP method.
gt - the generic type of the returned response.
requestEntity - the request entity.
Returns:
an instance of type represented by the generic type.
Throws:
UniformInterfaceException - if the status of the HTTP response is greater than or equal to 300 and gt does not represent the type ClientResponse.

entity

public AsyncWebResource.Builder entity(java.lang.Object entity)
Description copied from interface: RequestBuilder
Set the request entity.

Any Java type instance for a request entity, that is supported by the client configuration of the client, can be passed. If generic information is required then an instance of GenericEntity may be used.

Specified by:
entity in interface RequestBuilder<AsyncWebResource.Builder>
Parameters:
entity - the request entity
Returns:
the builder.

entity

public AsyncWebResource.Builder entity(java.lang.Object entity,
                                       javax.ws.rs.core.MediaType type)
Description copied from interface: RequestBuilder
Set the request entity it's media type.

Any Java type instance for a request entity, that is supported by the client configuration of the client, can be passed. If generic information is required then an instance of GenericEntity may be used.

Specified by:
entity in interface RequestBuilder<AsyncWebResource.Builder>
Parameters:
entity - the request entity
type - the media type
Returns:
the builder.

entity

public AsyncWebResource.Builder entity(java.lang.Object entity,
                                       java.lang.String type)
Description copied from interface: RequestBuilder
Set the request entity it's media type.

Any Java type instance for a request entity, that is supported by the client configuration of the client, can be passed. If generic information is required then an instance of GenericEntity may be used.

Specified by:
entity in interface RequestBuilder<AsyncWebResource.Builder>
Parameters:
entity - the request entity
type - the media type
Returns:
the builder.

type

public AsyncWebResource.Builder type(javax.ws.rs.core.MediaType type)
Description copied from interface: RequestBuilder
Set the media type.

Specified by:
type in interface RequestBuilder<AsyncWebResource.Builder>
Parameters:
type - the media type
Returns:
the builder.

type

public AsyncWebResource.Builder type(java.lang.String type)
Description copied from interface: RequestBuilder
Set the media type.

Specified by:
type in interface RequestBuilder<AsyncWebResource.Builder>
Parameters:
type - the media type
Returns:
the builder.

accept

public AsyncWebResource.Builder accept(javax.ws.rs.core.MediaType... types)
Description copied from interface: RequestBuilder
Add acceptable media types.

Specified by:
accept in interface RequestBuilder<AsyncWebResource.Builder>
Parameters:
types - an array of the acceptable media types
Returns:
the builder.

accept

public AsyncWebResource.Builder accept(java.lang.String... types)
Description copied from interface: RequestBuilder
Add acceptable media types.

Specified by:
accept in interface RequestBuilder<AsyncWebResource.Builder>
Parameters:
types - an array of the acceptable media types
Returns:
the builder.

acceptLanguage

public AsyncWebResource.Builder acceptLanguage(java.util.Locale... locales)
Description copied from interface: RequestBuilder
Add acceptable languages

Specified by:
acceptLanguage in interface RequestBuilder<AsyncWebResource.Builder>
Parameters:
locales - an array of the acceptable languages
Returns:
the builder.

acceptLanguage

public AsyncWebResource.Builder acceptLanguage(java.lang.String... locales)
Description copied from interface: RequestBuilder
Add acceptable languages

Specified by:
acceptLanguage in interface RequestBuilder<AsyncWebResource.Builder>
Parameters:
locales - an array of the acceptable languages
Returns:
the builder.

cookie

public AsyncWebResource.Builder cookie(javax.ws.rs.core.Cookie cookie)
Description copied from interface: RequestBuilder
Add a cookie to be set.

Specified by:
cookie in interface RequestBuilder<AsyncWebResource.Builder>
Parameters:
cookie - to be set.
Returns:
the builder

header

public AsyncWebResource.Builder header(java.lang.String name,
                                       java.lang.Object value)
Description copied from interface: RequestBuilder
Add an HTTP header and value.

Specified by:
header in interface RequestBuilder<AsyncWebResource.Builder>
Parameters:
name - the HTTP header name.
value - the HTTP header value.
Returns:
the builder.

path

public AsyncWebResource path(java.lang.String path)
Create a new AsyncWebResource from this web resource with an additional path added to the URI of this web resource.

Any filters on this web resource are inherited. Removal of filters may cause undefined behaviour.

Parameters:
path - the additional path.
Returns:
the new web resource.

uri

public AsyncWebResource uri(java.net.URI uri)
Create a new AsyncWebResource from this web resource.

If the URI contains a path component and the path starts with a '/' then the path of this web resource URI is replaced. Otherwise the path is appended.

If the URI contains query parameters then those query parameters will replace the query parameters (if any) of this web resource.

Any filters on this web resource are inherited. Removal of filters may cause undefined behaviour.

Parameters:
uri - the URI.
Returns:
the new web resource.


Copyright © 2008 Sun Microsystems, Inc. All Rights Reserved.