com.sun.jersey.api.client
Class ClientResponse

java.lang.Object
  extended by com.sun.jersey.api.client.ClientResponse

public class ClientResponse
extends java.lang.Object

A client (in-bound) HTTP response.

Author:
Paul.Sandoz@Sun.Com

Nested Class Summary
static class ClientResponse.Status
          Status codes defined by HTTP, see HTTP/1.1 documentation.
 
Field Summary
protected static RuntimeDelegate.HeaderDelegate<java.util.Date> dateDelegate
           
protected static RuntimeDelegate.HeaderDelegate<EntityTag> entityTagDelegate
           
 
Constructor Summary
ClientResponse(int statusCode, InBoundHeaders headers, java.io.InputStream entity, MessageBodyWorkers workers)
          Create a new instance initialized form statusCode, headers, entity, workers.
ClientResponse(Response.StatusType statusType, InBoundHeaders headers, java.io.InputStream entity, MessageBodyWorkers workers)
          Create a new instance initialized form statusType, headers, entity, workers.
 
Method Summary
 void bufferEntity()
          Buffer the entity.
 void close()
          Close the response.
 java.util.Set<java.lang.String> getAllow()
          Get the allowed HTTP methods from the Allow HTTP header.
 Client getClient()
          Get the client.
 ClientResponse.Status getClientResponseStatus()
          Deprecated. Deprecated since 1.18. Use getStatusInfo() which can return status type even for status codes which do not have mapping defined in ClientResponse.Status.
 java.util.List<NewCookie> getCookies()
          Get the list of cookies.
<T> T
getEntity(java.lang.Class<T> c)
          Get the entity of the response.
<T> T
getEntity(GenericType<T> gt)
          Get the entity of the response.
 java.io.InputStream getEntityInputStream()
          Get the input stream of the response.
 EntityTag getEntityTag()
          Get the entity tag.
 MultivaluedMap<java.lang.String,java.lang.String> getHeaders()
          Get the HTTP headers of the response.
 java.lang.String getLanguage()
          Get the language.
 java.util.Date getLastModified()
          Get the last modified date.
 int getLength()
          Get Content-Length.
 WebResourceLinkHeaders getLinks()
           
 java.net.URI getLocation()
          Get the location.
 MultivaluedMap<java.lang.String,java.lang.String> getMetadata()
          Deprecated.  
 java.util.Map<java.lang.String,java.lang.Object> getProperties()
          Get the map of response properties.
 java.util.Date getResponseDate()
          Get response date (server side).
 Response.Status getResponseStatus()
          Deprecated. use getClientResponseStatus()
 int getStatus()
          Get the status code.
 Response.StatusType getStatusInfo()
          Get the status type.
 MediaType getType()
          Get the media type of the response.
 boolean hasEntity()
          Checks if there is an entity available.
 void setEntityInputStream(java.io.InputStream entity)
          Set the input stream of the response.
 void setResponseStatus(Response.StatusType status)
          Deprecated. see setStatus(javax.ws.rs.core.Response.StatusType)
 void setStatus(int status)
          Set the status code.
 void setStatus(Response.StatusType statusType)
          Set the status type.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

entityTagDelegate

protected static final RuntimeDelegate.HeaderDelegate<EntityTag> entityTagDelegate

dateDelegate

protected static final RuntimeDelegate.HeaderDelegate<java.util.Date> dateDelegate
Constructor Detail

ClientResponse

public ClientResponse(Response.StatusType statusType,
                      InBoundHeaders headers,
                      java.io.InputStream entity,
                      MessageBodyWorkers workers)
Create a new instance initialized form statusType, headers, entity, workers.

Parameters:
statusType - Status type.
headers - HTTP headers.
entity - Entity input stream.
workers - Message body workers.

ClientResponse

public ClientResponse(int statusCode,
                      InBoundHeaders headers,
                      java.io.InputStream entity,
                      MessageBodyWorkers workers)
Create a new instance initialized form statusCode, headers, entity, workers.

Parameters:
headers - HTTP headers.
entity - Entity input stream.
workers - Message body workers.
Method Detail

getClient

public Client getClient()
Get the client.

Returns:
the client.

getProperties

public java.util.Map<java.lang.String,java.lang.Object> getProperties()
Get the map of response properties.

A response property is an application-defined property that may be added by the user, a filter, or the handler that is managing the connection.

Returns:
the map of response properties.

getStatus

public int getStatus()
Get the status code.

Returns:
the status code.

setStatus

public void setStatus(int status)
Set the status code.

Parameters:
status - the status code.

setStatus

public void setStatus(Response.StatusType statusType)
Set the status type.

Parameters:
statusType - the status type code.

getClientResponseStatus

@Deprecated
public ClientResponse.Status getClientResponseStatus()
Deprecated. Deprecated since 1.18. Use getStatusInfo() which can return status type even for status codes which do not have mapping defined in ClientResponse.Status.

Get the status code.

Returns:
the status code, or null if the underlying status code was set using the method setStatus(int) and there is no mapping between the integer value and the Response.Status enumeration value.

getStatusInfo

public Response.StatusType getStatusInfo()
Get the status type. Status type can be describe a standard response status defined by the HTTP specification and defined in ClientResponse.Status enumeration but also can contain status codes which are not defined by Response.Status enumeration (for example custom status code returned from a resource method).

Returns:
Non-null value of the status type.

getResponseStatus

@Deprecated
public Response.Status getResponseStatus()
Deprecated. use getClientResponseStatus()

Get the status code.

Returns:
the status code, or null if the underlying status code was set using the method setStatus(int) and there is no mapping between the integer value and the Response.Status enumeration value.

setResponseStatus

@Deprecated
public void setResponseStatus(Response.StatusType status)
Deprecated. see setStatus(javax.ws.rs.core.Response.StatusType)

Set the status code.

Parameters:
status - the status code.

getMetadata

@Deprecated
public MultivaluedMap<java.lang.String,java.lang.String> getMetadata()
Deprecated. 

Get the HTTP headers of the response.

Returns:
the HTTP headers of the response.

getHeaders

public MultivaluedMap<java.lang.String,java.lang.String> getHeaders()
Get the HTTP headers of the response.

Returns:
the HTTP headers of the response.

hasEntity

public boolean hasEntity()
Checks if there is an entity available.

Returns:
true if there is an entity present in the response.

getEntityInputStream

public java.io.InputStream getEntityInputStream()
Get the input stream of the response.

Returns:
the input stream of the response.

setEntityInputStream

public void setEntityInputStream(java.io.InputStream entity)
Set the input stream of the response.

Parameters:
entity - the input stream of the response.

getEntity

public <T> T getEntity(java.lang.Class<T> c)
            throws ClientHandlerException,
                   UniformInterfaceException
Get the entity of the response.

If the entity is not an instance of Closeable then the entity input stream is closed.

Type Parameters:
T - the type of the response.
Parameters:
c - the type of the entity.
Returns:
an instance of the type c.
Throws:
ClientHandlerException - if there is an error processing the response.
UniformInterfaceException - if the response status is 204 (No Content).

getEntity

public <T> T getEntity(GenericType<T> gt)
            throws ClientHandlerException,
                   UniformInterfaceException
Get the entity of the response.

If the entity is not an instance of Closeable then this response is closed (you cannot read it more than once, any subsequent call will produce ClientHandlerException).

Type Parameters:
T - the type of the response.
Parameters:
gt - the generic type of the entity.
Returns:
an instance of the type represented by the generic type.
Throws:
ClientHandlerException - if there is an error processing the response.
UniformInterfaceException - if the response status is 204 (No Content).

bufferEntity

public void bufferEntity()
                  throws ClientHandlerException
Buffer the entity.

All the bytes of the original entity input stream will be read and stored in memory. The original entity input stream will then be closed.

Throws:
ClientHandlerException - if there is an error processing the response.

close

public void close()
           throws ClientHandlerException
Close the response.

The entity input stream is closed.

Throws:
ClientHandlerException - if there is an error closing the response.

getType

public MediaType getType()
Get the media type of the response.

Returns:
the media type.

getLocation

public java.net.URI getLocation()
Get the location.

Returns:
the location, otherwise null if not present.

getEntityTag

public EntityTag getEntityTag()
Get the entity tag.

Returns:
the entity tag, otherwise null if not present.

getLastModified

public java.util.Date getLastModified()
Get the last modified date.

Returns:
the last modified date, otherwise null if not present.

getResponseDate

public java.util.Date getResponseDate()
Get response date (server side).

Returns:
the server side response date, otherwise null if not present.

getLanguage

public java.lang.String getLanguage()
Get the language.

Returns:
the language, otherwise null if not present.

getLength

public int getLength()
Get Content-Length.

Returns:
Content-Length as integer if present and valid number. In other cases returns -1.

getCookies

public java.util.List<NewCookie> getCookies()
Get the list of cookies.

Returns:
the cookies.

getAllow

public java.util.Set<java.lang.String> getAllow()
Get the allowed HTTP methods from the Allow HTTP header.

Note that the Allow HTTP header will be returned from an OPTIONS request.

Returns:
the allowed HTTP methods, all methods will returned as upper case strings.

getLinks

public WebResourceLinkHeaders getLinks()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2013 Oracle Corporation. All Rights Reserved.