org.glassfish.jersey.server

## Class ContainerResponse

- java.lang.Object
- - org.glassfish.jersey.server.ContainerResponse

All Implemented Interfaces:
  jakarta.ws.rs.container.ContainerResponseContext

    public class ContainerResponse
    extends Object
    implements jakarta.ws.rs.container.ContainerResponseContext

Jersey container response context.

Author:
  Marek Potociar

### Constructor Summary

Constructors
Constructor and Description
`ContainerResponse(ContainerRequest requestContext, jakarta.ws.rs.core.Response response)` Create a new Jersey container response context.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `close()` Closes the response.
`void` `commitStream()` Commit the `entity stream` unless already committed.
`void` `enableBuffering(jakarta.ws.rs.core.Configuration configuration)` Enable a buffering of serialized entity.
`Set<String>` `getAllowedMethods()`
`Map<String,jakarta.ws.rs.core.NewCookie>` `getCookies()`
`Date` `getDate()`
`Object` `getEntity()`
`Annotation[]` `getEntityAnnotations()`
`Class<?>` `getEntityClass()`
`OutputStream` `getEntityStream()`
`jakarta.ws.rs.core.EntityTag` `getEntityTag()`
`Type` `getEntityType()`
`jakarta.ws.rs.core.MultivaluedMap<String,Object>` `getHeaders()`
`String` `getHeaderString(String name)`
`Locale` `getLanguage()`
`Date` `getLastModified()`
`int` `getLength()`
`jakarta.ws.rs.core.Link` `getLink(String relation)`
`jakarta.ws.rs.core.Link.Builder` `getLinkBuilder(String relation)`
`Set<jakarta.ws.rs.core.Link>` `getLinks()`
`URI` `getLocation()`
`jakarta.ws.rs.core.MediaType` `getMediaType()`
`ContainerRequest` `getRequestContext()` Get the associated container request context paired with this response context.
`int` `getStatus()`
`jakarta.ws.rs.core.Response.StatusType` `getStatusInfo()`
`jakarta.ws.rs.core.MultivaluedMap<String,String>` `getStringHeaders()`
`org.glassfish.jersey.message.internal.OutboundMessageContext` `getWrappedMessageContext()` Get the wrapped response message context.
`boolean` `hasEntity()`
`boolean` `hasLink(String relation)`
`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, jakarta.ws.rs.core.MediaType mediaType)`
`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)`
`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(jakarta.ws.rs.core.MediaType mediaType)` Set the message content media type.
`void` `setStatus(int code)`
`void` `setStatusInfo(jakarta.ws.rs.core.Response.StatusType status)`
`void` `setStreamProvider(org.glassfish.jersey.message.internal.OutboundMessageContext.StreamProvider streamProvider)` Set the output stream provider callback.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ContainerResponse

    public ContainerResponse(ContainerRequest requestContext,
                             jakarta.ws.rs.core.Response response)

Create a new Jersey container response context.

Parameters:
  `requestContext` - associated container request context.
  `response` - response instance initializing the response context.

### Method Detail

#### isMappedFromException

    public boolean isMappedFromException()

Returns true if the response is result of the exception (for example created during `exception mapping`).

Returns:
  True if this response was created based on the exception, false otherwise.

#### setMappedFromException

    public void setMappedFromException(boolean mappedFromException)

Sets the flag indicating whether the response was created based on the exception.

Parameters:
  `mappedFromException` - True if this exception if result of the exception (for example result of `exception mapping`).

#### getStatus

    public int getStatus()

Specified by:
  `getStatus` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### setStatus

    public void setStatus(int code)

Specified by:
  `setStatus` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### setStatusInfo

    public void setStatusInfo(jakarta.ws.rs.core.Response.StatusType status)

Specified by:
  `setStatusInfo` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getStatusInfo

    public jakarta.ws.rs.core.Response.StatusType getStatusInfo()

Specified by:
  `getStatusInfo` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getRequestContext

    public ContainerRequest getRequestContext()

Get the associated container request context paired with this response context.

Returns:
  associated container request context.

#### getCookies

    public Map<String,jakarta.ws.rs.core.NewCookie> getCookies()

Specified by:
  `getCookies` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getWrappedMessageContext

    public org.glassfish.jersey.message.internal.OutboundMessageContext getWrappedMessageContext()

Get the wrapped response message context.

Returns:
  wrapped response message context.

#### getHeaderString

    public String getHeaderString(String name)

Specified by:
  `getHeaderString` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getHeaders

    public jakarta.ws.rs.core.MultivaluedMap<String,Object> getHeaders()

Specified by:
  `getHeaders` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getStringHeaders

    public jakarta.ws.rs.core.MultivaluedMap<String,String> getStringHeaders()

Specified by:
  `getStringHeaders` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getDate

    public Date getDate()

Specified by:
  `getDate` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getLanguage

    public Locale getLanguage()

Specified by:
  `getLanguage` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getMediaType

    public jakarta.ws.rs.core.MediaType getMediaType()

Specified by:
  `getMediaType` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getAllowedMethods

    public Set<String> getAllowedMethods()

Specified by:
  `getAllowedMethods` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getLength

    public int getLength()

Specified by:
  `getLength` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getEntityTag

    public jakarta.ws.rs.core.EntityTag getEntityTag()

Specified by:
  `getEntityTag` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getLastModified

    public Date getLastModified()

Specified by:
  `getLastModified` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getLocation

    public URI getLocation()

Specified by:
  `getLocation` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getLinks

    public Set<jakarta.ws.rs.core.Link> getLinks()

Specified by:
  `getLinks` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### hasLink

    public boolean hasLink(String relation)

Specified by:
  `hasLink` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getLink

    public jakarta.ws.rs.core.Link getLink(String relation)

Specified by:
  `getLink` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getLinkBuilder

    public jakarta.ws.rs.core.Link.Builder getLinkBuilder(String relation)

Specified by:
  `getLinkBuilder` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### hasEntity

    public boolean hasEntity()

Specified by:
  `hasEntity` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getEntity

    public Object getEntity()

Specified by:
  `getEntity` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### setEntity

    public void setEntity(Object entity)

Set a new message message entity.

Specified by:
  `setEntity` in interface `jakarta.ws.rs.container.ContainerResponseContext`
Parameters:
  `entity` - entity object.
See Also:
  `MessageBodyWriter`

#### setEntity

    public void setEntity(Object entity,
                          Annotation[] annotations)

Set a new message message entity.

Parameters:
  `entity` - entity object.
  `annotations` - annotations attached to the entity.
See Also:
  `MessageBodyWriter`

#### setEntity

    public void setEntity(Object entity,
                          Type type,
                          Annotation[] annotations)

Set a new message message entity.

Parameters:
  `entity` - entity object.
  `type` - declared entity class.
  `annotations` - annotations attached to the entity.
See Also:
  `MessageBodyWriter`

#### setEntity

    public void setEntity(Object entity,
                          Annotation[] annotations,
                          jakarta.ws.rs.core.MediaType mediaType)

Specified by:
  `setEntity` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### setMediaType

    public void setMediaType(jakarta.ws.rs.core.MediaType mediaType)

Set the message content media type.

Parameters:
  `mediaType` - message content media type.

#### getEntityClass

    public Class<?> getEntityClass()

Specified by:
  `getEntityClass` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### getEntityType

    public Type getEntityType()

Specified by:
  `getEntityType` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### setEntityType

    public void setEntityType(Type type)

Set the message entity type information. This method overrides any computed or previously set entity type information.

Parameters:
  `type` - overriding message entity type.

#### getEntityAnnotations

    public Annotation[] getEntityAnnotations()

Specified by:
  `getEntityAnnotations` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### setEntityAnnotations

    public void setEntityAnnotations(Annotation[] annotations)

Set the annotations attached to the entity.

Parameters:
  `annotations` - entity annotations.

#### getEntityStream

    public OutputStream getEntityStream()

Specified by:
  `getEntityStream` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### setEntityStream

    public void setEntityStream(OutputStream outputStream)

Specified by:
  `setEntityStream` in interface `jakarta.ws.rs.container.ContainerResponseContext`

#### setStreamProvider

    public void setStreamProvider(org.glassfish.jersey.message.internal.OutboundMessageContext.StreamProvider streamProvider)

Set the output stream provider callback.

This method must be called before first bytes are written to the `entity stream`.

Parameters:
  `streamProvider` - non-`null` output stream provider.

#### enableBuffering

    public void enableBuffering(jakarta.ws.rs.core.Configuration configuration)

Enable a buffering of serialized entity. The buffering will be configured from configuration. The property determining the size of the buffer is `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`.

Parameters:
  `configuration` - runtime configuration.

#### commitStream

    public void commitStream()
                      throws IOException

Commit the `entity stream` unless already committed.

Throws:
  `IOException` - in case of the IO error.

#### isCommitted

    public boolean isCommitted()

Returns `true` if the entity stream has been committed.

Returns:
  `true` if the entity stream has been committed. Otherwise returns `false`.

#### close

    public void close()

Closes the response. Flushes and closes the entity stream, frees up container resources associated with the corresponding request.

#### isChunked

    public boolean isChunked()

Returns `true` if the response entity is a `ChunkedOutput` instance.

Returns:
  `true` if the entity is a `ChunkedOutput` instance, `false` otherwise.