Package fr.gouv.vitam.common.stream

# Class VitamAsyncInputStreamResponse

java.lang.Object
jakarta.ws.rs.core.Response
fr.gouv.vitam.common.stream.VitamAsyncInputStreamResponse

All Implemented Interfaces:
  `AutoCloseable`

public class VitamAsyncInputStreamResponse extends jakarta.ws.rs.core.Response
This class implements a fake InputStream from a Response such that the response will be closed once the stream is closed itself. It should replace all the AsyncInputStreamHelper
Example of usages:
When using specific headers:
`Map<String, String> headers = new HashMap<>();
headers.put(HttpHeaders.CONTENT_TYPE, response.getMediaType().toString());
headers.put(HttpHeaders.CONTENT_DISPOSITION, response.getHeaderString(HttpHeaders.CONTENT_DISPOSITION));
headers.put(GlobalDataRest.X_QUALIFIER, xQualifier);
headers.put(GlobalDataRest.X_VERSION, xVersion);
return new VitamAsyncInputStreamResponse(response, Status.OK, headers);
`
When using standard headers:
`return new VitamAsyncInputStreamResponse(response, Status.OK, MediaType.APPLICATION_OCTET_STREAM_TYPE);
`
When using the native response as source:
`return new VitamAsyncInputStreamResponse(response);
`

- ## Nested Class Summary

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

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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `VitamAsyncInputStreamResponse(jakarta.ws.rs.core.Response response)`
  `VitamAsyncInputStreamResponse(jakarta.ws.rs.core.Response response, jakarta.ws.rs.core.Response.Status status, jakarta.ws.rs.core.MediaType mediaType)`
  `VitamAsyncInputStreamResponse(jakarta.ws.rs.core.Response response, jakarta.ws.rs.core.Response.Status status, Map<String,String> headers)`
  `VitamAsyncInputStreamResponse(InputStream inputStream, jakarta.ws.rs.core.Response.Status status, Map<String,String> headers)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `bufferEntity()`
  `void`
  `close()`
  `Set<String>`
  `getAllowedMethods()`
  `Map<String,jakarta.ws.rs.core.NewCookie>`
  `getCookies()`
  `Date`
  `getDate()`
  `static Map<String,String>`
  `getDefaultMapFromResponse(jakarta.ws.rs.core.Response response)`
  Return the default Map of headers from Response
  `Object`
  `getEntity()`
  `jakarta.ws.rs.core.EntityTag`
  `getEntityTag()`
  `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()`
  `jakarta.ws.rs.core.MultivaluedMap<String,Object>`
  `getMetadata()`
  `int`
  `getStatus()`
  `jakarta.ws.rs.core.Response.StatusType`
  `getStatusInfo()`
  `jakarta.ws.rs.core.MultivaluedMap<String,String>`
  `getStringHeaders()`
  `boolean`
  `hasEntity()`
  `boolean`
  `hasLink(String relation)`
  `<T> T`
  `readEntity(jakarta.ws.rs.core.GenericType<T> entityType)`
  `<T> T`
  `readEntity(jakarta.ws.rs.core.GenericType<T> entityType, Annotation[] annotations)`
  `<T> T`
  `readEntity(Class<T> entityType)`
  `<T> T`
  `readEntity(Class<T> entityType, Annotation[] annotations)`

  ### Methods inherited from class jakarta.ws.rs.core.Response

  `accepted, accepted, created, fromResponse, isClosed, 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`

- ## Constructor Details

  - ### VitamAsyncInputStreamResponse

    public VitamAsyncInputStreamResponse(jakarta.ws.rs.core.Response response)
    Parameters:
      `response` -

  - ### VitamAsyncInputStreamResponse

    public VitamAsyncInputStreamResponse(jakarta.ws.rs.core.Response response, jakarta.ws.rs.core.Response.Status status, jakarta.ws.rs.core.MediaType mediaType)
    Parameters:
      `response` -
      `status` -
      `mediaType` -

  - ### VitamAsyncInputStreamResponse

    public VitamAsyncInputStreamResponse(jakarta.ws.rs.core.Response response, jakarta.ws.rs.core.Response.Status status, Map<String,String> headers)
    Parameters:
      `response` -
      `status` -
      `headers` -

  - ### VitamAsyncInputStreamResponse

    public VitamAsyncInputStreamResponse(InputStream inputStream, jakarta.ws.rs.core.Response.Status status, Map<String,String> headers)
    Parameters:
      `inputStream` -
      `status` -
      `headers` -

- ## Method Details

  - ### getDefaultMapFromResponse

    public static Map<String,String> getDefaultMapFromResponse(jakarta.ws.rs.core.Response response)
    Return the default Map of headers from Response
    Parameters:
      `response` -
    Returns:
      the default map

  - ### getStatus

    public int getStatus()
    Specified by:
      `getStatus` in class `jakarta.ws.rs.core.Response`

  - ### getStatusInfo

    public jakarta.ws.rs.core.Response.StatusType getStatusInfo()
    Specified by:
      `getStatusInfo` in class `jakarta.ws.rs.core.Response`

  - ### getMediaType

    public jakarta.ws.rs.core.MediaType getMediaType()
    Specified by:
      `getMediaType` in class `jakarta.ws.rs.core.Response`

  - ### getEntity

    public Object getEntity()
    Specified by:
      `getEntity` in class `jakarta.ws.rs.core.Response`

  - ### readEntity

    public <T> T readEntity(Class<T> entityType)
    Specified by:
      `readEntity` in class `jakarta.ws.rs.core.Response`

  - ### readEntity

    public <T> T readEntity(jakarta.ws.rs.core.GenericType<T> entityType)
    Specified by:
      `readEntity` in class `jakarta.ws.rs.core.Response`

  - ### readEntity

    public <T> T readEntity(Class<T> entityType, Annotation[] annotations)
    Specified by:
      `readEntity` in class `jakarta.ws.rs.core.Response`

  - ### readEntity

    public <T> T readEntity(jakarta.ws.rs.core.GenericType<T> entityType, Annotation[] annotations)
    Specified by:
      `readEntity` in class `jakarta.ws.rs.core.Response`

  - ### close

    public void close()
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in class `jakarta.ws.rs.core.Response`

  - ### getHeaders

    public jakarta.ws.rs.core.MultivaluedMap<String,Object> getHeaders()
    Overrides:
      `getHeaders` in class `jakarta.ws.rs.core.Response`

  - ### hasEntity

    public boolean hasEntity()
    Specified by:
      `hasEntity` in class `jakarta.ws.rs.core.Response`

  - ### bufferEntity

    public boolean bufferEntity()
    Specified by:
      `bufferEntity` in class `jakarta.ws.rs.core.Response`

  - ### getLanguage

    public Locale getLanguage()
    Specified by:
      `getLanguage` in class `jakarta.ws.rs.core.Response`

  - ### getLength

    public int getLength()
    Specified by:
      `getLength` in class `jakarta.ws.rs.core.Response`

  - ### getAllowedMethods

    public Set<String> getAllowedMethods()
    Specified by:
      `getAllowedMethods` in class `jakarta.ws.rs.core.Response`

  - ### getCookies

    public Map<String,jakarta.ws.rs.core.NewCookie> getCookies()
    Specified by:
      `getCookies` in class `jakarta.ws.rs.core.Response`

  - ### getEntityTag

    public jakarta.ws.rs.core.EntityTag getEntityTag()
    Specified by:
      `getEntityTag` in class `jakarta.ws.rs.core.Response`

  - ### getDate

    public Date getDate()
    Specified by:
      `getDate` in class `jakarta.ws.rs.core.Response`

  - ### getLastModified

    public Date getLastModified()
    Specified by:
      `getLastModified` in class `jakarta.ws.rs.core.Response`

  - ### getLocation

    public URI getLocation()
    Specified by:
      `getLocation` in class `jakarta.ws.rs.core.Response`

  - ### getLinks

    public Set<jakarta.ws.rs.core.Link> getLinks()
    Specified by:
      `getLinks` in class `jakarta.ws.rs.core.Response`

  - ### hasLink

    public boolean hasLink(String relation)
    Specified by:
      `hasLink` in class `jakarta.ws.rs.core.Response`

  - ### getLink

    public jakarta.ws.rs.core.Link getLink(String relation)
    Specified by:
      `getLink` in class `jakarta.ws.rs.core.Response`

  - ### getLinkBuilder

    public jakarta.ws.rs.core.Link.Builder getLinkBuilder(String relation)
    Specified by:
      `getLinkBuilder` in class `jakarta.ws.rs.core.Response`

  - ### getMetadata

    public jakarta.ws.rs.core.MultivaluedMap<String,Object> getMetadata()
    Specified by:
      `getMetadata` in class `jakarta.ws.rs.core.Response`

  - ### getStringHeaders

    public jakarta.ws.rs.core.MultivaluedMap<String,String> getStringHeaders()
    Specified by:
      `getStringHeaders` in class `jakarta.ws.rs.core.Response`

  - ### getHeaderString

    public String getHeaderString(String name)
    Specified by:
      `getHeaderString` in class `jakarta.ws.rs.core.Response`