com.sun.jersey.api.client
Class AsyncWebResource

java.lang.Object
  extended by com.sun.jersey.api.client.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.

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.


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 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.
 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.
 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.
 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.
 AsyncWebResource.Builder path(java.lang.String path)
          Start building from an additional path from the URI to the 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.
 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.
 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.Builder uri(java.net.URI uri)
          Start building from a URI.
 
Methods inherited from class com.sun.jersey.api.client.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
Parameters:
c - the type of the returned response.
Returns:
an instance of type c.

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
Parameters:
c - the type of the returned response.
Returns:
an instance of type c.

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

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.

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
Parameters:
c - the type of the returned response.
Returns:
an instance of type c.

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
Parameters:
c - the type of the returned response.
requestEntity - the request entity.
Returns:
an instance of type c.

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

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.

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
Parameters:
c - the type of the returned response.
Returns:
an instance of type c.

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
Parameters:
c - the type of the returned response.
requestEntity - the request entity.
Returns:
an instance of type c.

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

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.

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
Parameters:
c - the type of the returned response.
Returns:
an instance of type c.

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
Parameters:
c - the type of the returned response.
requestEntity - the request entity.
Returns:
an instance of type c.

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.

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.

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
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,
                                                 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
Parameters:
method - the HTTP method.
c - the type of the returned response.
requestEntity - the request entity.
Returns:
an instance of type c.

entity

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

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.

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.

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.

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.Builder path(java.lang.String path)
Start building from an additional path from the URI to the resource

Parameters:
path - the additional path.
Returns:
the builder.

uri

public AsyncWebResource.Builder uri(java.net.URI uri)
Start building from a URI.

If the URI contains a path component and the path starts with a '/' then the path of the resource proxy URI is replaced. Otherise the path is appended to the path of the resource proxy URI.

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

Parameters:
uri - the URI.
Returns:
the builder.