public class ContainerResponse extends java.lang.Object implements HttpResponseContext
Containers instantiate, or inherit, and provide an instance to the
WebApplication.
| Constructor and Description |
|---|
ContainerResponse(WebApplication wa,
ContainerRequest request,
ContainerResponseWriter responseWriter)
Instantiate a new ContainerResponse.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.annotation.Annotation[] |
getAnnotations()
Get the annotations associated with the response entity (if any).
|
ContainerRequest |
getContainerRequest()
Get the container request.
|
ContainerResponseWriter |
getContainerResponseWriter()
Get the container response writer.
|
java.lang.Object |
getEntity() |
java.lang.reflect.Type |
getEntityType() |
static java.lang.String |
getHeaderValue(java.lang.Object headerValue)
Convert a header value, represented as a general object, to the
string value.
|
MultivaluedMap<java.lang.String,java.lang.Object> |
getHttpHeaders()
Get the HTTP response headers.
|
java.lang.Throwable |
getMappedThrowable()
Get the throwable (if any) that was mapped to a response.
|
MediaType |
getMediaType()
Get the media type of the response entity.
|
MessageBodyWorkers |
getMessageBodyWorkers()
Get the message body workers.
|
java.lang.Object |
getOriginalEntity()
Get the original entity instance that was set by
HttpResponseContext.setEntity(java.lang.Object). |
java.io.OutputStream |
getOutputStream()
Get an
OutputStream to which an entity may be written. |
Response |
getResponse()
Get the response that was set.
|
int |
getStatus() |
Response.StatusType |
getStatusType() |
boolean |
isCommitted()
Ascertain if a response has been committed to the container.
|
boolean |
isResponseSet()
Check if the response has been set using the setReponse methods.
|
boolean |
mapException(java.lang.Throwable e)
Map an exception to a response.
|
void |
mapMappableContainerException(MappableContainerException e)
Map the cause of a mappable container exception to a response.
|
void |
mapWebApplicationException(WebApplicationException e)
Map a web application exception to a response.
|
void |
reset()
Reset the response to 204 (No content) with no headers.
|
void |
setAnnotations(java.lang.annotation.Annotation[] annotations)
Set the annotations associated with the response entity (if any).
|
void |
setContainerRequest(ContainerRequest request)
Set the container request.
|
void |
setContainerResponseWriter(ContainerResponseWriter responseWriter)
Set the container response writer.
|
void |
setEntity(java.lang.Object entity)
Set the entity of the response.
|
void |
setEntity(java.lang.Object entity,
java.lang.reflect.Type entityType) |
void |
setResponse(Response response)
Set the response state from a Response instance.
|
void |
setStatus(int status)
Set the status of the response.
|
void |
setStatusType(Response.StatusType statusType)
Set the status type of the response.
|
void |
write()
Write the response.
|
public ContainerResponse(WebApplication wa, ContainerRequest request, ContainerResponseWriter responseWriter)
wa - the web application.request - the container request associated with this response.responseWriter - the response writerpublic static java.lang.String getHeaderValue(java.lang.Object headerValue)
This method defers to RuntimeDelegate.createHeaderDelegate(java.lang.Class<T>) to
obtain a RuntimeDelegate.HeaderDelegate to convert the value to a string. If
a RuntimeDelegate.HeaderDelegate is not found then the toString
is utilized.
Containers may use this method to convert the header values obtained
from the getHttpHeaders()
headerValue - the header value as an objectpublic void write()
throws java.io.IOException
The status and headers will be written by calling the method
ContainerResponseWriter.writeStatusAndHeaders(long, com.sun.jersey.spi.container.ContainerResponse) on the provided
ContainerResponseWriter instance. The OutputStream
returned from that method call is used to write the entity (if any)
to that OutputStream. An appropriate MessageBodyWriter
will be found to write the entity.
WebApplicationException - if MessageBodyWriter cannot be
found for the entity with a 500 (Internal Server error) response.java.io.IOException - if there is an error writing the entitypublic void reset()
public ContainerRequest getContainerRequest()
public void setContainerRequest(ContainerRequest request)
request - the container request.public ContainerResponseWriter getContainerResponseWriter()
public void setContainerResponseWriter(ContainerResponseWriter responseWriter)
responseWriter - the container response writerpublic MessageBodyWorkers getMessageBodyWorkers()
public void mapMappableContainerException(MappableContainerException e)
If the cause cannot be mapped and then that cause is re-thrown if a runtime exception otherwise the mappable container exception is re-thrown.
e - the mappable container exception whose cause will be mapped to
a response.public void mapWebApplicationException(WebApplicationException e)
e - the web application exception.public boolean mapException(java.lang.Throwable e)
e - the exception.public Response getResponse()
HttpResponseContextgetResponse in interface HttpResponseContextpublic void setResponse(Response response)
HttpResponseContextsetResponse in interface HttpResponseContextresponse - the response.public boolean isResponseSet()
HttpResponseContextisResponseSet in interface HttpResponseContextpublic java.lang.Throwable getMappedThrowable()
HttpResponseContextgetMappedThrowable in interface HttpResponseContextpublic Response.StatusType getStatusType()
getStatusType in interface HttpResponseContextpublic void setStatusType(Response.StatusType statusType)
HttpResponseContextsetStatusType in interface HttpResponseContextstatusType - the status type.public int getStatus()
getStatus in interface HttpResponseContextpublic void setStatus(int status)
HttpResponseContextsetStatus in interface HttpResponseContextstatus - the status.public java.lang.Object getEntity()
getEntity in interface HttpResponseContextpublic java.lang.reflect.Type getEntityType()
getEntityType in interface HttpResponseContextpublic java.lang.Object getOriginalEntity()
HttpResponseContextHttpResponseContext.setEntity(java.lang.Object).getOriginalEntity in interface HttpResponseContextpublic void setEntity(java.lang.Object entity)
HttpResponseContext
If the entity is an instance of GenericEntity then the entity
and entity type are set from the entity and type of that
GenericEntity. Otherwise, the entity is set from the entity
parameter and the type is the class of that parameter.
If it is necessary to wrap an entity that may have been set with an
instance of GenericEntity then utilize the
HttpResponseContext.getOriginalEntity(), for example:
HttpResponseContext r = ...
r.setEntity(wrap(getOriginalEntity()));
setEntity in interface HttpResponseContextentity - the entity.public void setEntity(java.lang.Object entity,
java.lang.reflect.Type entityType)
public java.lang.annotation.Annotation[] getAnnotations()
HttpResponseContextgetAnnotations in interface HttpResponseContextpublic void setAnnotations(java.lang.annotation.Annotation[] annotations)
HttpResponseContextsetAnnotations in interface HttpResponseContextannotations - the annotations.public MultivaluedMap<java.lang.String,java.lang.Object> getHttpHeaders()
HttpResponseContextHttpResponseContext.setResponse(javax.ws.rs.core.Response)
will replace any headers previously set.getHttpHeaders in interface HttpResponseContextpublic MediaType getMediaType()
HttpResponseContextgetMediaType in interface HttpResponseContextpublic java.io.OutputStream getOutputStream()
throws java.io.IOException
HttpResponseContextOutputStream to which an entity may be written.
The first byte written will result in the writing of thethe status code and headers.
getOutputStream in interface HttpResponseContextjava.io.IOException - if an IO error occurspublic boolean isCommitted()
HttpResponseContextA response is committed if the status code, headers have been written to the container.
isCommitted in interface HttpResponseContextCopyright © 2016 Oracle Corporation. All Rights Reserved.