org.apache.http.nio.util

## Class SimpleOutputBuffer

- java.lang.Object
- - org.apache.http.nio.util.ExpandableBuffer
  - - org.apache.http.nio.util.SimpleOutputBuffer

- All Implemented Interfaces:
    BufferInfo, ContentOutputBuffer

      @NotThreadSafe
      public class SimpleOutputBuffer
      extends ExpandableBuffer
      implements ContentOutputBuffer

  Basic implementation of the `ContentOutputBuffer` interface.

  This class is not thread safe.

  Since:
    4.0

- - ### Field Summary

    - ### Fields inherited from class org.apache.http.nio.util.ExpandableBuffer

      `buffer, INPUT_MODE, OUTPUT_MODE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleOutputBuffer(int buffersize)`
    `SimpleOutputBuffer(int buffersize, ByteBufferAllocator allocator)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `flush()`
    `int` | `produceContent(ContentEncoder encoder)` Writes content from this buffer to the given `ContentEncoder`.
    `void` | `reset()` Resets the buffer by clearing its state and stored content.
    `void` | `shutdown()`
    `void` | `write(byte[] b)`
    `void` | `write(byte[] b, int off, int len)` Writes `len` bytes from the specified byte array starting at offset `off` to this buffer.
    `void` | `write(int b)` Writes the specified byte to this buffer.
    `void` | `writeCompleted()` Indicates the content has been fully written.

    - ### Methods inherited from class org.apache.http.nio.util.ExpandableBuffer

      `available, capacity, clear, ensureCapacity, expand, getMode, hasData, length, setInputMode, setOutputMode, toString`

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

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

- - ### Constructor Detail

    - #### SimpleOutputBuffer

          public SimpleOutputBuffer(int buffersize,
                            ByteBufferAllocator allocator)

    - #### SimpleOutputBuffer

          public SimpleOutputBuffer(int buffersize)

      Since:
        4.3

  - ### Method Detail

    - #### produceContent

          public int produceContent(ContentEncoder encoder)
                             throws IOException

      Description copied from interface: `ContentOutputBuffer`
      Writes content from this buffer to the given `ContentEncoder`.
      Specified by:
        `produceContent` in interface `ContentOutputBuffer`
      Parameters:
        `encoder` - content encoder.
      Returns:
        number of bytes written.
      Throws:
        `IOException` - in case of an I/O error.

    - #### write

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

      Description copied from interface: `ContentOutputBuffer`
      Writes `len` bytes from the specified byte array starting at offset `off` to this buffer.

      If `off` is negative, or `len` is negative, or `off+len` is greater than the length of the array `b`, this method can throw a runtime exception. The exact type of runtime exception thrown by this method depends on implementation.

      Specified by:
        `write` in interface `ContentOutputBuffer`
      Parameters:
        `b` - the data.
        `off` - the start offset in the data.
        `len` - the number of bytes to write.
      Throws:
        `IOException` - if an I/O error occurs.

    - #### write

          public void write(byte[] b)
                     throws IOException

      Throws:
        `IOException`

    - #### write

          public void write(int b)
                     throws IOException

      Description copied from interface: `ContentOutputBuffer`
      Writes the specified byte to this buffer.
      Specified by:
        `write` in interface `ContentOutputBuffer`
      Parameters:
        `b` - the `byte`.
      Throws:
        `IOException` - if an I/O error occurs.

    - #### reset

          public void reset()

      Description copied from interface: `ContentOutputBuffer`
      Resets the buffer by clearing its state and stored content.
      Specified by:
        `reset` in interface `ContentOutputBuffer`

    - #### flush

          public void flush()

      Specified by:
        `flush` in interface `ContentOutputBuffer`

    - #### writeCompleted

          public void writeCompleted()

      Description copied from interface: `ContentOutputBuffer`
      Indicates the content has been fully written.
      Specified by:
        `writeCompleted` in interface `ContentOutputBuffer`

    - #### shutdown

          public void shutdown()

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