public class OutboundJaxrsResponse extends Response
underlying
outbound message context.| Modifier and Type | Class and Description |
|---|---|
static class |
OutboundJaxrsResponse.Builder
Outbound JAX-RS
Response.ResponseBuilder implementation. |
Response.ResponseBuilder, Response.Status, Response.StatusType| Constructor and Description |
|---|
OutboundJaxrsResponse(Response.StatusType status,
OutboundMessageContext context)
Create new outbound JAX-RS response message instance.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
bufferEntity()
Buffer the message entity data.
|
void |
close()
Close the underlying message entity input stream (if available and open)
as well as releases any other resources associated with the response
(e.g.
|
static OutboundJaxrsResponse |
from(Response response)
Get an OutboundJaxrsResponse instance for a given JAX-RS response.
|
Set<String> |
getAllowedMethods()
Get the allowed HTTP methods from the Allow HTTP header.
|
OutboundMessageContext |
getContext()
Get the underlying outbound message context.
|
Map<String,NewCookie> |
getCookies()
Get any new cookies set on the response message.
|
Date |
getDate()
Get message date.
|
Object |
getEntity()
Get the message entity Java instance.
|
EntityTag |
getEntityTag()
Get the entity tag.
|
String |
getHeaderString(String name)
Get a message header as a single string value.
|
Locale |
getLanguage()
Get the language of the message entity.
|
Date |
getLastModified()
Get the last modified date.
|
int |
getLength()
Get Content-Length value.
|
Link |
getLink(String relation)
Get the link for the relation.
|
Link.Builder |
getLinkBuilder(String relation)
Convenience method that returns a
Link.Builder for the relation. |
Set<Link> |
getLinks()
Get the links attached to the message as headers.
|
URI |
getLocation()
Get the location.
|
MediaType |
getMediaType()
Get the media type of the message entity.
|
MultivaluedMap<String,Object> |
getMetadata()
|
int |
getStatus()
Get the status code associated with the response.
|
Response.StatusType |
getStatusInfo()
Get the complete status information associated with the response.
|
MultivaluedMap<String,String> |
getStringHeaders()
Get view of the response headers and their string values.
|
boolean |
hasEntity()
Check if there is an entity available in the response.
|
boolean |
hasLink(String relation)
Check if link for relation exists.
|
<T> T |
readEntity(Class<T> type)
Read the message entity input stream as an instance of specified Java type
using a
MessageBodyReader that supports mapping the
message entity stream onto the requested type. |
<T> T |
readEntity(Class<T> type,
Annotation[] annotations)
Read the message entity input stream as an instance of specified Java type
using a
MessageBodyReader that supports mapping the
message entity stream onto the requested type. |
<T> T |
readEntity(GenericType<T> entityType)
Read the message entity input stream as an instance of specified Java type
using a
MessageBodyReader that supports mapping the
message entity stream onto the requested type. |
<T> T |
readEntity(GenericType<T> entityType,
Annotation[] annotations)
Read the message entity input stream as an instance of specified Java type
using a
MessageBodyReader that supports mapping the
message entity stream onto the requested type. |
String |
toString() |
accepted, accepted, created, fromResponse, getHeaders, noContent, notAcceptable, notModified, notModified, notModified, ok, ok, ok, ok, ok, seeOther, serverError, status, status, status, temporaryRedirectpublic OutboundJaxrsResponse(Response.StatusType status, OutboundMessageContext context)
status - response status.context - underlying outbound message context.public static OutboundJaxrsResponse from(Response response)
response - response instance to from.OutboundJaxrsResponse instance.public OutboundMessageContext getContext()
public int getStatus()
Responsepublic Response.StatusType getStatusInfo()
ResponsegetStatusInfo in class Responsenull.public Object getEntity()
Responsenull if the message
does not contain an entity body.
If the entity is represented by an un-consumed input stream
the method will return the input stream.
getEntity in class Responsenull if message does not contain an
entity body (i.e. when Response.hasEntity() returns false).public <T> T readEntity(Class<T> type) throws ProcessingException
ResponseMessageBodyReader that supports mapping the
message entity stream onto the requested type.
Method throws an ProcessingException if the content of the
message cannot be mapped to an entity of the requested type and
IllegalStateException in case the entity is not backed by an input
stream or if the original entity input stream has already been consumed
without buffering the entity data prior consuming.
A message instance returned from this method will be cached for
subsequent retrievals via Response.getEntity(). Unless the supplied entity
type is an input stream, this method automatically
closes the an unconsumed original response entity data stream
if open. In case the entity data has been buffered, the buffer will be reset
prior consuming the buffered data to enable subsequent invocations of
readEntity(...) methods on this response.
readEntity in class ResponseT - entity instance Java type.type - the type of entity.ProcessingException wrapping the
underlying NoContentException is thrown.ProcessingException - if the content of the message cannot be
mapped to an entity of the requested type.MessageBodyReaderpublic <T> T readEntity(GenericType<T> entityType) throws ProcessingException
ResponseMessageBodyReader that supports mapping the
message entity stream onto the requested type.
Method throws an ProcessingException if the content of the
message cannot be mapped to an entity of the requested type and
IllegalStateException in case the entity is not backed by an input
stream or if the original entity input stream has already been consumed
without buffering the entity data prior consuming.
A message instance returned from this method will be cached for
subsequent retrievals via Response.getEntity(). Unless the supplied entity
type is an input stream, this method automatically
closes the an unconsumed original response entity data stream
if open. In case the entity data has been buffered, the buffer will be reset
prior consuming the buffered data to enable subsequent invocations of
readEntity(...) methods on this response.
readEntity in class ResponseT - entity instance Java type.entityType - the type of entity; may be generic.ProcessingException wrapping the
underlying NoContentException is thrown.ProcessingException - if the content of the message cannot be
mapped to an entity of the requested type.MessageBodyReaderpublic <T> T readEntity(Class<T> type, Annotation[] annotations) throws ProcessingException
ResponseMessageBodyReader that supports mapping the
message entity stream onto the requested type.
Method throws an ProcessingException if the content of the
message cannot be mapped to an entity of the requested type and
IllegalStateException in case the entity is not backed by an input
stream or if the original entity input stream has already been consumed
without buffering the entity data prior consuming.
A message instance returned from this method will be cached for
subsequent retrievals via Response.getEntity(). Unless the supplied entity
type is an input stream, this method automatically
closes the an unconsumed original response entity data stream
if open. In case the entity data has been buffered, the buffer will be reset
prior consuming the buffered data to enable subsequent invocations of
readEntity(...) methods on this response.
readEntity in class ResponseT - entity instance Java type.type - the type of entity.annotations - annotations that will be passed to the MessageBodyReader.ProcessingException wrapping the
underlying NoContentException is thrown.ProcessingException - if the content of the message cannot be
mapped to an entity of the requested type.MessageBodyReaderpublic <T> T readEntity(GenericType<T> entityType, Annotation[] annotations) throws ProcessingException
ResponseMessageBodyReader that supports mapping the
message entity stream onto the requested type.
Method throws an ProcessingException if the content of the
message cannot be mapped to an entity of the requested type and
IllegalStateException in case the entity is not backed by an input
stream or if the original entity input stream has already been consumed
without buffering the entity data prior consuming.
A message instance returned from this method will be cached for
subsequent retrievals via Response.getEntity(). Unless the supplied entity
type is an input stream, this method automatically
closes the an unconsumed original response entity data stream
if open. In case the entity data has been buffered, the buffer will be reset
prior consuming the buffered data to enable subsequent invocations of
readEntity(...) methods on this response.
readEntity in class ResponseT - entity instance Java type.entityType - the type of entity; may be generic.annotations - annotations that will be passed to the MessageBodyReader.ProcessingException wrapping the
underlying NoContentException is thrown.ProcessingException - if the content of the message cannot be
mapped to an entity of the requested type.MessageBodyReaderpublic boolean hasEntity()
Responsetrue if the entity is present, returns false otherwise.
Note that the method may return true also for response messages with
a zero-length content, in case the "Content-Length" and
"Content-Type" headers are specified in the message.
In such case, an attempt to read the entity using one of the readEntity(...)
methods will return a corresponding instance representing a zero-length entity for a
given Java type or produce a ProcessingException in case no such instance
is available for the Java type.
public boolean bufferEntity()
throws ProcessingException
Response
In case the message entity is backed by an unconsumed entity input stream,
all the bytes of the original entity input stream are read and stored in a
local buffer. The original entity input stream is consumed and automatically
closed as part of the operation and the method returns true.
In case the response entity instance is not backed by an unconsumed input stream
an invocation of bufferEntity method is ignored and the method returns
false.
This operation is idempotent, i.e. it can be invoked multiple times with
the same effect which also means that calling the bufferEntity()
method on an already buffered (and thus closed) message instance is legal
and has no further effect. Also, the result returned by the bufferEntity()
method is consistent across all invocations of the method on the same
Response instance.
Buffering the message entity data allows for multiple invocations of
readEntity(...) methods on the response instance. Note however, that
once the response instance itself is closed, the implementations
are expected to release the buffered message entity data too. Therefore any subsequent
attempts to read a message entity stream on such closed response will result in an
IllegalStateException being thrown.
bufferEntity in class Responsetrue if the message entity input stream was available and
was buffered successfully, returns false if the entity stream
was not available.ProcessingException - if there was an error while buffering the entity
input stream.public void close()
throws ProcessingException
Responsebuffered message entity data).
This operation is idempotent, i.e. it can be invoked multiple times with the
same effect which also means that calling the close() method on an
already closed message instance is legal and has no further effect.
The close() method should be invoked on all instances that
contain an un-consumed entity input stream to ensure the resources associated
with the instance are properly cleaned-up and prevent potential memory leaks.
This is typical for client-side scenarios where application layer code
processes only the response headers and ignores the response entity.
Any attempts to manipulate (read, get, buffer) a message entity on a closed response
will result in an IllegalStateException being thrown.
close in class ResponseProcessingException - if there is an error closing the response.public MultivaluedMap<String,String> getStringHeaders()
ResponsegetStringHeaders in class ResponseResponse.getHeaders(),
Response.getHeaderString(java.lang.String)public String getHeaderString(String name)
ResponseRuntimeDelegate.HeaderDelegate if one is available
via RuntimeDelegate.createHeaderDelegate(java.lang.Class)
for the header value class or using its toString method if a header
delegate is not available.getHeaderString in class Responsename - the message header.null is returned. If the message header is present but has no
value then the empty string is returned. If the message header is present
more than once then the values of joined together and separated by a ','
character.Response.getHeaders(),
Response.getStringHeaders()public MediaType getMediaType()
ResponsegetMediaType in class Responsenull if there is no response entity.public Locale getLanguage()
ResponsegetLanguage in class Responsepublic int getLength()
Responsepublic Map<String,NewCookie> getCookies()
ResponsegetCookies in class Responsepublic EntityTag getEntityTag()
ResponsegetEntityTag in class Responsenull if not present.public Date getLastModified()
ResponsegetLastModified in class Responsenull if not present.public Set<String> getAllowedMethods()
ResponsegetAllowedMethods in class Responsepublic URI getLocation()
ResponsegetLocation in class Responsenull if not present.public Set<Link> getLinks()
Responsepublic boolean hasLink(String relation)
ResponsehasLink in class Responserelation - link relation.true if the link for the relation is present in the
message headers, false otherwise.public Link getLink(String relation)
Responsepublic Link.Builder getLinkBuilder(String relation)
ResponseLink.Builder for the relation.
See Response.getLink(java.lang.String) for more information.getLinkBuilder in class Responserelation - link relation.null if not
present.public MultivaluedMap<String,Object> getMetadata()
ResponseResponse.getHeaders().
This method is considered deprecated. Users are encouraged to switch their
code to use the getHeaders() method instead. The method may be annotated
as @Deprecated in a future release of JAX-RS API.getMetadata in class ResponseCopyright © 2007-2014, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.