Package org.jboss.resteasy.specimpl

## Class AbstractBuiltResponse

- java.lang.Object
- - javax.ws.rs.core.Response
  - - org.jboss.resteasy.specimpl.AbstractBuiltResponse

- All Implemented Interfaces:
    `AutoCloseable`
  Direct Known Subclasses:
    `BuiltResponse`

      public abstract class AbstractBuiltResponse
      extends javax.ws.rs.core.Response

  A response object not attached to a client or server invocation.
  Version:
    $Revision: 1 $
  Author:
    Bill Burke

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected static class` | `AbstractBuiltResponse.InputStreamWrapper<T extends BuiltResponse>` |

    - ### Nested classes/interfaces inherited from class javax.ws.rs.core.Response

      `javax.ws.rs.core.Response.ResponseBuilder, javax.ws.rs.core.Response.Status, javax.ws.rs.core.Response.StatusType`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Annotation[]` | `annotations` |
    `protected byte[]` | `bufferedEntity` |
    `protected Object` | `entity` |
    `protected Class` | `entityClass` |
    `protected Type` | `genericType` |
    `protected InputStream` | `is` |
    `protected boolean` | `isClosed` |
    `protected Headers<Object>` | `metadata` |
    `protected HeaderValueProcessor` | `processor` |
    `protected String` | `reason` |
    `protected int` | `status` |
    `protected boolean` | `streamFullyRead` |
    `protected boolean` | `streamRead` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AbstractBuiltResponse()` |
    `AbstractBuiltResponse​(int status, String reason, Headers<Object> metadata, Object entity, Annotation[] entityAnnotations)` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `abortIfClosed()` |
    `void` | `addMethodAnnotations​(Annotation[] methodAnnotations)` |
    `void` | `close()` |
    `Set<String>` | `getAllowedMethods()` |
    `Annotation[]` | `getAnnotations()` |
    `Map<String,​javax.ws.rs.core.NewCookie>` | `getCookies()` |
    `Date` | `getDate()` |
    `Object` | `getEntity()` |
    `Class` | `getEntityClass()` |
    `protected abstract InputStream` | `getEntityStream()` |
    `javax.ws.rs.core.EntityTag` | `getEntityTag()` |
    `Type` | `getGenericType()` |
    `String` | `getHeaderString​(String name)` |
    `protected HeaderValueProcessor` | `getHeaderValueProcessor()` |
    `protected abstract InputStream` | `getInputStream()` |
    `Locale` | `getLanguage()` |
    `Date` | `getLastModified()` |
    `int` | `getLength()` |
    `javax.ws.rs.core.Link` | `getLink​(String relation)` |
    `javax.ws.rs.core.Link.Builder` | `getLinkBuilder​(String relation)` |
    `Set<javax.ws.rs.core.Link>` | `getLinks()` |
    `URI` | `getLocation()` |
    `javax.ws.rs.core.MediaType` | `getMediaType()` |
    `javax.ws.rs.core.MultivaluedMap<String,​Object>` | `getMetadata()` |
    `String` | `getReasonPhrase()` |
    `int` | `getStatus()` |
    `javax.ws.rs.core.Response.StatusType` | `getStatusInfo()` |
    `javax.ws.rs.core.MultivaluedMap<String,​String>` | `getStringHeaders()` |
    `boolean` | `hasEntity()` |
    `boolean` | `hasLink​(String relation)` |
    `boolean` | `isClosed()` |
    `<T> T` | `readEntity​(Class<T> type)` |
    `<T> T` | `readEntity​(Class<T> type, Annotation[] annotations)` |
    `abstract <T> T` | `readEntity​(Class<T> type, Type genericType, Annotation[] anns)` |
    `<T> T` | `readEntity​(javax.ws.rs.core.GenericType<T> entityType)` |
    `<T> T` | `readEntity​(javax.ws.rs.core.GenericType<T> entityType, Annotation[] annotations)` |
    `abstract void` | `releaseConnection()` | Release underlying connection but do not close.
    `abstract void` | `releaseConnection​(boolean consumeInputStream)` | Release underlying connection but do not close.
    `protected void` | `resetEntity()` |
    `void` | `setAnnotations​(Annotation[] annotations)` |
    `void` | `setEntity​(Object entity)` |
    `void` | `setEntityClass​(Class entityClass)` |
    `void` | `setGenericType​(Type genericType)` |
    `protected abstract void` | `setInputStream​(InputStream is)` |
    `void` | `setMetadata​(javax.ws.rs.core.MultivaluedMap<String,​Object> metadata)` |
    `void` | `setReasonPhrase​(String reason)` |
    `void` | `setStatus​(int status)` |
    `void` | `setStreamFullyRead​(Boolean b)` |
    `void` | `setStreamRead​(Boolean b)` |
    `protected String` | `toHeaderString​(Object header)` |

    - ### Methods inherited from class javax.ws.rs.core.Response

      `accepted, accepted, bufferEntity, created, fromResponse, getHeaders, noContent, notAcceptable, notModified, notModified, notModified, ok, ok, ok, ok, ok, seeOther, serverError, status, status, status, status, temporaryRedirect`

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

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

- - ### Field Detail

    - #### entity

          protected Object entity

    - #### status

          protected int status

    - #### reason

          protected String reason

    - #### metadata

          protected Headers<Object> metadata

    - #### annotations

          protected Annotation[] annotations

    - #### entityClass

          protected Class entityClass

    - #### genericType

          protected Type genericType

    - #### processor

          protected HeaderValueProcessor processor

    - #### isClosed

          protected volatile boolean isClosed

    - #### is

          protected InputStream is

    - #### bufferedEntity

          protected byte[] bufferedEntity

    - #### streamRead

          protected volatile boolean streamRead

    - #### streamFullyRead

          protected volatile boolean streamFullyRead

  - ### Constructor Detail

    - #### AbstractBuiltResponse

          public AbstractBuiltResponse()

    - #### AbstractBuiltResponse

          public AbstractBuiltResponse​(int status,
                                       String reason,
                                       Headers<Object> metadata,
                                       Object entity,
                                       Annotation[] entityAnnotations)

  - ### Method Detail

    - #### getInputStream

          protected abstract InputStream getInputStream()

    - #### setInputStream

          protected abstract void setInputStream​(InputStream is)

    - #### getEntityStream

          protected abstract InputStream getEntityStream()

    - #### releaseConnection

          public abstract void releaseConnection()
                                          throws IOException

      Release underlying connection but do not close.
      Throws:
        `IOException` - if I/O error occurred

    - #### releaseConnection

          public abstract void releaseConnection​(boolean consumeInputStream)
                                          throws IOException

      Release underlying connection but do not close.
      Parameters:
        `consumeInputStream` - boolean to indicate either the underlying input stream must be fully read before releasing the connection or not.

        For most HTTP connection implementations, consuming the underlying input stream before releasing the connection will help to ensure connection reusability with respect of Keep-Alive policy.

      Throws:
        `IOException` - if I/O error occured

    - #### getEntityClass

          public Class getEntityClass()

    - #### setEntityClass

          public void setEntityClass​(Class entityClass)

    - #### getHeaderValueProcessor

          protected HeaderValueProcessor getHeaderValueProcessor()

    - #### getEntity

          public Object getEntity()

      Specified by:
        `getEntity` in class `javax.ws.rs.core.Response`

    - #### getStatus

          public int getStatus()

      Specified by:
        `getStatus` in class `javax.ws.rs.core.Response`

    - #### getReasonPhrase

          public String getReasonPhrase()

    - #### getStatusInfo

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

      Specified by:
        `getStatusInfo` in class `javax.ws.rs.core.Response`

    - #### getMetadata

          public javax.ws.rs.core.MultivaluedMap<String,​Object> getMetadata()

      Specified by:
        `getMetadata` in class `javax.ws.rs.core.Response`

    - #### setEntity

          public void setEntity​(Object entity)

    - #### setStatus

          public void setStatus​(int status)

    - #### setReasonPhrase

          public void setReasonPhrase​(String reason)

    - #### setMetadata

          public void setMetadata​(javax.ws.rs.core.MultivaluedMap<String,​Object> metadata)

    - #### getAnnotations

          public Annotation[] getAnnotations()

    - #### addMethodAnnotations

          public void addMethodAnnotations​(Annotation[] methodAnnotations)

    - #### setAnnotations

          public void setAnnotations​(Annotation[] annotations)

    - #### getGenericType

          public Type getGenericType()

    - #### setGenericType

          public void setGenericType​(Type genericType)

    - #### readEntity

          public <T> T readEntity​(Class<T> type,
                                  Annotation[] annotations)

      Specified by:
        `readEntity` in class `javax.ws.rs.core.Response`

    - #### readEntity

          public <T> T readEntity​(javax.ws.rs.core.GenericType<T> entityType,
                                  Annotation[] annotations)

      Specified by:
        `readEntity` in class `javax.ws.rs.core.Response`

    - #### readEntity

          public <T> T readEntity​(Class<T> type)

      Specified by:
        `readEntity` in class `javax.ws.rs.core.Response`

    - #### readEntity

          public <T> T readEntity​(javax.ws.rs.core.GenericType<T> entityType)

      Specified by:
        `readEntity` in class `javax.ws.rs.core.Response`

    - #### readEntity

          public abstract <T> T readEntity​(Class<T> type,
                                           Type genericType,
                                           Annotation[] anns)

    - #### resetEntity

          protected void resetEntity()

    - #### setStreamRead

          public void setStreamRead​(Boolean b)

    - #### setStreamFullyRead

          public void setStreamFullyRead​(Boolean b)

    - #### hasEntity

          public boolean hasEntity()

      Specified by:
        `hasEntity` in class `javax.ws.rs.core.Response`

    - #### isClosed

          public boolean isClosed()

    - #### abortIfClosed

          public void abortIfClosed()

    - #### close

          public void close()

      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in class `javax.ws.rs.core.Response`

    - #### getLanguage

          public Locale getLanguage()

      Specified by:
        `getLanguage` in class `javax.ws.rs.core.Response`

    - #### getLength

          public int getLength()

      Specified by:
        `getLength` in class `javax.ws.rs.core.Response`

    - #### getMediaType

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

      Specified by:
        `getMediaType` in class `javax.ws.rs.core.Response`

    - #### getCookies

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

      Specified by:
        `getCookies` in class `javax.ws.rs.core.Response`

    - #### getEntityTag

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

      Specified by:
        `getEntityTag` in class `javax.ws.rs.core.Response`

    - #### getDate

          public Date getDate()

      Specified by:
        `getDate` in class `javax.ws.rs.core.Response`

    - #### getLastModified

          public Date getLastModified()

      Specified by:
        `getLastModified` in class `javax.ws.rs.core.Response`

    - #### getAllowedMethods

          public Set<String> getAllowedMethods()

      Specified by:
        `getAllowedMethods` in class `javax.ws.rs.core.Response`

    - #### toHeaderString

          protected String toHeaderString​(Object header)

    - #### getStringHeaders

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

      Specified by:
        `getStringHeaders` in class `javax.ws.rs.core.Response`

    - #### getHeaderString

          public String getHeaderString​(String name)

      Specified by:
        `getHeaderString` in class `javax.ws.rs.core.Response`

    - #### getLocation

          public URI getLocation()

      Specified by:
        `getLocation` in class `javax.ws.rs.core.Response`

    - #### getLinks

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

      Specified by:
        `getLinks` in class `javax.ws.rs.core.Response`

    - #### hasLink

          public boolean hasLink​(String relation)

      Specified by:
        `hasLink` in class `javax.ws.rs.core.Response`

    - #### getLink

          public javax.ws.rs.core.Link getLink​(String relation)

      Specified by:
        `getLink` in class `javax.ws.rs.core.Response`

    - #### getLinkBuilder

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

      Specified by:
        `getLinkBuilder` in class `javax.ws.rs.core.Response`