public class ContainerResponse extends Object implements ContainerResponseContext
| Constructor and Description |
|---|
ContainerResponse(ContainerRequest requestContext,
Response response)
Create a new Jersey container response context.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes the response.
|
void |
commitStream()
Commit the
entity stream unless already committed. |
void |
enableBuffering(Configuration configuration)
Enable a buffering of serialized entity.
|
Set<String> |
getAllowedMethods()
Get the allowed HTTP methods from the Allow HTTP header.
|
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.
|
Annotation[] |
getEntityAnnotations()
Get the annotations attached to the entity instance.
|
Class<?> |
getEntityClass()
Get the raw entity type information.
|
OutputStream |
getEntityStream()
Get the entity output stream.
|
EntityTag |
getEntityTag()
Get the entity tag.
|
Type |
getEntityType()
Get the generic entity type information.
|
MultivaluedMap<String,Object> |
getHeaders()
Get the mutable response headers multivalued map.
|
String |
getHeaderString(String name)
Get a message header as a single string value.
|
Locale |
getLanguage()
Get the language of the 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 header.
|
URI |
getLocation()
Get the location.
|
MediaType |
getMediaType()
Get the media type of the entity.
|
ContainerRequest |
getRequestContext()
Get the associated container request context paired with this response context.
|
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 a string view of header values associated with the message.
|
org.glassfish.jersey.message.internal.OutboundMessageContext |
getWrappedMessageContext()
Get the wrapped response message context.
|
boolean |
hasEntity()
Check if there is an entity available in the response.
|
boolean |
hasLink(String relation)
Check if link for relation exists.
|
boolean |
isChunked()
Returns
true if the response entity is a ChunkedOutput instance. |
boolean |
isCommitted()
Returns
true if the entity stream has been committed. |
boolean |
isMappedFromException()
Returns true if the response is result of the exception (for example created during
exception mapping). |
void |
setEntity(Object entity)
Set a new message message entity.
|
void |
setEntity(Object entity,
Annotation[] annotations)
Set a new message message entity.
|
void |
setEntity(Object entity,
Annotation[] annotations,
MediaType mediaType)
Set a new message entity, including the attached annotations and the media type.
|
void |
setEntity(Object entity,
Type type,
Annotation[] annotations)
Set a new message message entity.
|
void |
setEntityAnnotations(Annotation[] annotations)
Set the annotations attached to the entity.
|
void |
setEntityStream(OutputStream outputStream)
Set a new entity output stream.
|
void |
setEntityType(Type type)
Set the message entity type information.
|
void |
setMappedFromException(boolean mappedFromException)
Sets the flag indicating whether the response was created based on the exception.
|
void |
setMediaType(MediaType mediaType)
Set the message content media type.
|
void |
setStatus(int code)
Set a new response status code.
|
void |
setStatusInfo(Response.StatusType status)
Set the complete status information (status code and reason phrase) associated with the response.
|
void |
setStreamProvider(org.glassfish.jersey.message.internal.OutboundMessageContext.StreamProvider streamProvider)
Set the output stream provider callback.
|
public ContainerResponse(ContainerRequest requestContext, Response response)
requestContext - associated container request context.response - response instance initializing the response context.public boolean isMappedFromException()
exception mapping).public void setMappedFromException(boolean mappedFromException)
mappedFromException - True if this exception if result of the exception (for example result of
exception mapping).public int getStatus()
ContainerResponseContextgetStatus in interface ContainerResponseContextpublic void setStatus(int code)
ContainerResponseContextsetStatus in interface ContainerResponseContextcode - new status code.public void setStatusInfo(Response.StatusType status)
ContainerResponseContextsetStatusInfo in interface ContainerResponseContextstatus - the response status information.public Response.StatusType getStatusInfo()
ContainerResponseContextgetStatusInfo in interface ContainerResponseContextnull if the status was not set.public ContainerRequest getRequestContext()
public Map<String,NewCookie> getCookies()
ContainerResponseContextgetCookies in interface ContainerResponseContextnew cookie.public org.glassfish.jersey.message.internal.OutboundMessageContext getWrappedMessageContext()
public String getHeaderString(String name)
ContainerResponseContextRuntimeDelegate.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 interface ContainerResponseContextname - 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.ContainerResponseContext.getHeaders(),
ContainerResponseContext.getStringHeaders()public MultivaluedMap<String,Object> getHeaders()
ContainerResponseContextgetHeaders in interface ContainerResponseContextContainerResponseContext.getStringHeaders(),
ContainerResponseContext.getHeaderString(String)public MultivaluedMap<String,String> getStringHeaders()
ContainerResponseContextheaders map are reflected in this view.
The method converts the non-string header values to strings using a
RuntimeDelegate.HeaderDelegate if one is available via
RuntimeDelegate.createHeaderDelegate(java.lang.Class) for the class of the value or using the
values toString method if a header delegate is not available.
getStringHeaders in interface ContainerResponseContextContainerResponseContext.getHeaders(),
ContainerResponseContext.getHeaderString(String)public Date getDate()
ContainerResponseContextgetDate in interface ContainerResponseContextnull if not present.public Locale getLanguage()
ContainerResponseContextgetLanguage in interface ContainerResponseContextnull if not specifiedpublic MediaType getMediaType()
ContainerResponseContextgetMediaType in interface ContainerResponseContextnull if not specified (e.g. there's no response entity).public Set<String> getAllowedMethods()
ContainerResponseContextgetAllowedMethods in interface ContainerResponseContextpublic int getLength()
ContainerResponseContextgetLength in interface ContainerResponseContextpublic EntityTag getEntityTag()
ContainerResponseContextgetEntityTag in interface ContainerResponseContextnull if not present.public Date getLastModified()
ContainerResponseContextgetLastModified in interface ContainerResponseContextnull if not present.public URI getLocation()
ContainerResponseContextgetLocation in interface ContainerResponseContextnull if not present.public Set<Link> getLinks()
ContainerResponseContextgetLinks in interface ContainerResponseContextSet if no links are present. Never returns null.public boolean hasLink(String relation)
ContainerResponseContexthasLink in interface ContainerResponseContextrelation - link relation.true if the for the relation link exists, false otherwise.public Link getLink(String relation)
ContainerResponseContextgetLink in interface ContainerResponseContextrelation - link relation.null if not present.public Link.Builder getLinkBuilder(String relation)
ContainerResponseContextLink.Builder for the relation.getLinkBuilder in interface ContainerResponseContextrelation - link relation.null if not present.public boolean hasEntity()
ContainerResponseContexttrue if the entity is present, returns false otherwise.hasEntity in interface ContainerResponseContexttrue if there is an entity present in the message, false otherwise.public Object getEntity()
ContainerResponseContextnull if the message does not contain an entity.getEntity in interface ContainerResponseContextnull if message does not contain an entity body.public void setEntity(Object entity)
setEntity in interface ContainerResponseContextentity - entity object.MessageBodyWriterpublic void setEntity(Object entity, Annotation[] annotations)
entity - entity object.annotations - annotations attached to the entity.MessageBodyWriterpublic void setEntity(Object entity, Type type, Annotation[] annotations)
entity - entity object.type - declared entity class.annotations - annotations attached to the entity.MessageBodyWriterpublic void setEntity(Object entity, Annotation[] annotations, MediaType mediaType)
ContainerResponseContext
It is the callers responsibility to wrap the actual entity with GenericEntity if
preservation of its generic type is required.
setEntity in interface ContainerResponseContextentity - entity object.annotations - annotations attached to the entity instance.mediaType - entity media type.ContainerResponseContext.setEntity(Object),
MessageBodyWriterpublic void setMediaType(MediaType mediaType)
mediaType - message content media type.public Class<?> getEntityClass()
ContainerResponseContextgetEntityClass in interface ContainerResponseContextpublic Type getEntityType()
ContainerResponseContextgetEntityType in interface ContainerResponseContextpublic void setEntityType(Type type)
type - overriding message entity type.public Annotation[] getEntityAnnotations()
ContainerResponseContext
Note that the returned annotations array contains only those annotations explicitly attached to entity instance (such
as the ones attached using
Response.ResponseBuilder.entity(Object, java.lang.annotation.Annotation[]) method as well as
the ones attached to the resource method that has returned the response). The entity instance annotations array does
not include annotations declared on the entity implementation class or its ancestors.
Note that container response filters invoked earlier in the filter chain may modify the entity annotations value, in which case this getter method would return the last annotations value set by a container response filter invoked earlier in the filter chain.
For example:
@Path("my-resource")
public class MyResource {
private final Annotations[] extras = ... ;
@GET
@Custom
public String getAnnotatedMe() {
return Response.ok().entity("Annotated me", extras).build();
}
...
}
The container response context for a response returned from the getMe() method above would contain all the
annotations declared on the getAnnotatedMe() method (@GET, @Custom) as well as all the
annotations from the extras field, provided this value has not been replaced by any container response filter
invoked earlier.
Similarly:
@Custom
public class AnnotatedMe { ... }
@Path("my-resource")
public class MyResource {
private final Annotations[] extras = ... ;
@GET
public AnnotatedMe getMe() {
return Response.ok().entity(new AnnotatedMe(), extras).build();
}
...
}
Provided that the value has not been replaced by any container response filter invoked earlier, the container
response context for a response returned from the getMe() method above would contain all the annotations on
the getMe() method (@GET) as well as all the annotations from the extras field. It would
however not contain any annotations declared on the AnnotatedMe class.
getEntityAnnotations in interface ContainerResponseContextpublic void setEntityAnnotations(Annotation[] annotations)
annotations - entity annotations.public OutputStream getEntityStream()
ContainerResponseContextgetEntityStream in interface ContainerResponseContextpublic void setEntityStream(OutputStream outputStream)
ContainerResponseContextsetEntityStream in interface ContainerResponseContextoutputStream - new entity output stream.public void setStreamProvider(org.glassfish.jersey.message.internal.OutboundMessageContext.StreamProvider streamProvider)
entity stream.streamProvider - non-null output stream provider.public void enableBuffering(Configuration configuration)
CommonProperties.OUTBOUND_CONTENT_LENGTH_BUFFER.
The buffering functionality is by default disabled and could be enabled by calling this method. In this case
this method must be called before first bytes are written to the entity stream.configuration - runtime configuration.public void commitStream()
throws IOException
entity stream unless already committed.IOException - in case of the IO error.public boolean isCommitted()
true if the entity stream has been committed.true if the entity stream has been committed. Otherwise returns false.public void close()
public boolean isChunked()
true if the response entity is a ChunkedOutput instance.true if the entity is a ChunkedOutput instance, false otherwise.Copyright © 2007-2021, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.