Package org.jboss.resteasy.util

## Class CommitHeaderAsyncOutputStream

- java.lang.Object
- - java.io.OutputStream
  - - org.jboss.resteasy.spi.AsyncOutputStream
    - - org.jboss.resteasy.util.CommitHeaderAsyncOutputStream

- All Implemented Interfaces:
    `Closeable`, `Flushable`, `AutoCloseable`

      public class CommitHeaderAsyncOutputStream
      extends AsyncOutputStream

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected AsyncOutputStream` | `delegate` |
    `protected CommitHeaderOutputStream.CommitCallback` | `headers` |
    `protected boolean` | `isHeadersCommitted` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CommitHeaderAsyncOutputStream()` |
    `CommitHeaderAsyncOutputStream​(AsyncOutputStream delegate, CommitHeaderOutputStream.CommitCallback headers)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `CompletionStage<Void>` | `asyncFlush()` | Flushes this async output stream.
    `CompletionStage<Void>` | `asyncWrite​(byte[] bytes, int offset, int length)` | Writes to this async output stream.
    `void` | `close()` |
    `void` | `commit()` |
    `void` | `flush()` |
    `AsyncOutputStream` | `getDelegate()` |
    `void` | `setDelegate​(AsyncOutputStream delegate)` |
    `void` | `setHeaders​(CommitHeaderOutputStream.CommitCallback headers)` |
    `void` | `write​(byte[] bytes)` |
    `void` | `write​(byte[] bytes, int i, int i1)` |
    `void` | `write​(int i)` |

    - ### Methods inherited from class org.jboss.resteasy.spi.AsyncOutputStream

      `asyncWrite`

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

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

- - ### Field Detail

    - #### delegate

          protected AsyncOutputStream delegate

    - #### isHeadersCommitted

          protected boolean isHeadersCommitted

    - #### headers

          protected CommitHeaderOutputStream.CommitCallback headers

  - ### Constructor Detail

    - #### CommitHeaderAsyncOutputStream

          public CommitHeaderAsyncOutputStream​(AsyncOutputStream delegate,
                                               CommitHeaderOutputStream.CommitCallback headers)

    - #### CommitHeaderAsyncOutputStream

          public CommitHeaderAsyncOutputStream()

  - ### Method Detail

    - #### getDelegate

          public AsyncOutputStream getDelegate()

    - #### setDelegate

          public void setDelegate​(AsyncOutputStream delegate)

    - #### setHeaders

          public void setHeaders​(CommitHeaderOutputStream.CommitCallback headers)

    - #### commit

          public void commit()

    - #### write

          public void write​(int i)
                     throws IOException

      Specified by:
        `write` in class `OutputStream`
      Throws:
        `IOException`

    - #### write

          public void write​(byte[] bytes)
                     throws IOException

      Overrides:
        `write` in class `OutputStream`
      Throws:
        `IOException`

    - #### write

          public void write​(byte[] bytes,
                            int i,
                            int i1)
                     throws IOException

      Overrides:
        `write` in class `OutputStream`
      Throws:
        `IOException`

    - #### flush

          public void flush()
                     throws IOException

      Specified by:
        `flush` in interface `Flushable`
      Overrides:
        `flush` in class `OutputStream`
      Throws:
        `IOException`

    - #### close

          public void close()
                     throws IOException

      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in interface `Closeable`
      Overrides:
        `close` in class `OutputStream`
      Throws:
        `IOException`

    - #### asyncFlush

          public CompletionStage<Void> asyncFlush()

      Description copied from class: `AsyncOutputStream`
      Flushes this async output stream.
      Specified by:
        `asyncFlush` in class `AsyncOutputStream`
      Returns:
        a `CompletionStage` notified on completion of the flush operation.

    - #### asyncWrite

          public CompletionStage<Void> asyncWrite​(byte[] bytes,
                                                  int offset,
                                                  int length)

      Description copied from class: `AsyncOutputStream`
      Writes to this async output stream.
      Specified by:
        `asyncWrite` in class `AsyncOutputStream`
      Parameters:
        `bytes` - the bytes to write
        `offset` - the offset from which to start writing in the given byte array.
        `length` - the number of bytes to write from the given byte array
      Returns:
        a `CompletionStage` notified on completion of the write operation.