org.apache.hc.core5.http.impl.io

## Class IdentityOutputStream

- java.lang.Object
- - java.io.OutputStream
  - - org.apache.hc.core5.http.impl.io.IdentityOutputStream

- All Implemented Interfaces:
    Closeable, Flushable, AutoCloseable

      public class IdentityOutputStream
      extends OutputStream

  Output stream that writes data without any transformation. The end of the content entity is demarcated by closing the underlying connection (EOF condition). Entities transferred using this input stream can be of unlimited length.

  Note that this class NEVER closes the underlying stream, even when `close()` gets called. Instead, the stream will be marked as closed and no further output will be permitted.

  Since:
    4.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `IdentityOutputStream(SessionOutputBuffer buffer, OutputStream outputStream)` Default constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Finishes writing to the underlying stream, but does NOT close the underlying stream.
    `void` | `flush()`
    `void` | `write(byte[] b)`
    `void` | `write(byte[] b, int off, int len)`
    `void` | `write(int b)`

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

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

- - ### Constructor Detail

    - #### IdentityOutputStream

          public IdentityOutputStream(SessionOutputBuffer buffer,
                                      OutputStream outputStream)

      Default constructor.
      Parameters:
        `buffer` - Session output buffer
        `outputStream` - Output stream

  - ### Method Detail

    - #### close

          public void close()
                     throws IOException

      Finishes writing to the underlying stream, but does NOT close the underlying stream.
      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Overrides:
        `close` in class `OutputStream`
      Throws:
        `IOException` - If an I/O problem occurs.

    - #### flush

          public void flush()
                     throws IOException

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

    - #### write

          public void write(byte[] b,
                            int off,
                            int len)
                     throws IOException

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

    - #### write

          public void write(byte[] b)
                     throws IOException

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

    - #### write

          public void write(int b)
                     throws IOException

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

Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.