## org.apache.http.nio.util
Class SimpleInputBuffer

    java.lang.Object
      org.apache.http.nio.util.ExpandableBuffer
          org.apache.http.nio.util.SimpleInputBuffer

All Implemented Interfaces:
  BufferInfo, ContentInputBuffer

    @NotThreadSafe
    public class SimpleInputBuffer

extends ExpandableBuffer
implements ContentInputBuffer

Basic implementation of the `ContentInputBuffer` 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
`SimpleInputBuffer(int buffersize, ByteBufferAllocator allocator)`

Method Summary
`int` `consumeContent(ContentDecoder decoder)` Reads content from the given `ContentDecoder` and stores it in this buffer.
`boolean` `isEndOfStream()`
`int` `read()` Reads one byte from this buffer.
`int` `read(byte[] b)`
`int` `read(byte[] b, int off, int len)` Reads up to `len` bytes of data from this buffer into an array of bytes.
`void` `reset()` Resets the buffer by clearing its state and stored content.
`void` `shutdown()`

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

### SimpleInputBuffer

    public SimpleInputBuffer(int buffersize,
                             ByteBufferAllocator allocator)

Method Detail

### reset

    public void reset()

  Description copied from interface: `ContentInputBuffer`
  Resets the buffer by clearing its state and stored content.

  Specified by:
    `reset` in interface `ContentInputBuffer`

### consumeContent

    public int consumeContent(ContentDecoder decoder)
                       throws IOException

  Description copied from interface: `ContentInputBuffer`
  Reads content from the given `ContentDecoder` and stores it in this buffer.

  Specified by:
    `consumeContent` in interface `ContentInputBuffer`
  Parameters:
    `decoder` - the content decoder.
  Returns:
    number of bytes read.
  Throws:
    `IOException` - in case of an I/O error.

### isEndOfStream

    public boolean isEndOfStream()

### read

    public int read()
             throws IOException

  Description copied from interface: `ContentInputBuffer`
  Reads one byte from this buffer. If the buffer is empty this method can throw a runtime exception. The exact type of runtime exception thrown by this method depends on implementation. This method returns `-1` if the end of content stream has been reached.

  Specified by:
    `read` in interface `ContentInputBuffer`
  Returns:
    one byte
  Throws:
    `IOException`

### read

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

  Description copied from interface: `ContentInputBuffer`
  Reads up to `len` bytes of data from this buffer into an array of bytes. The exact number of bytes read depends how many bytes are stored in the 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. This method returns `-1` if the end of content stream has been reached.

  Specified by:
    `read` in interface `ContentInputBuffer`
  Parameters:
    `b` - the buffer into which the data is read.
    `off` - the start offset in array `b` at which the data is written.
    `len` - the maximum number of bytes to read.
  Returns:
    the total number of bytes read into the buffer, or `-1` if there is no more data because the end of the stream has been reached.
  Throws:
    `IOException` - if an I/O error occurs.

### read

    public int read(byte[] b)
             throws IOException

  Throws:
    `IOException`

### shutdown

    public void shutdown()

Copyright © 2005-2013 The Apache Software Foundation. All Rights Reserved.