org.eclipse.jetty.io.nio

## Class DirectNIOBuffer

- java.lang.Object
- - org.eclipse.jetty.io.AbstractBuffer
  - - org.eclipse.jetty.io.nio.DirectNIOBuffer

- All Implemented Interfaces:
    Cloneable, Buffer, NIOBuffer

      public class DirectNIOBuffer
      extends AbstractBuffer
      implements NIOBuffer

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.eclipse.jetty.io.Buffer

      `Buffer.CaseInsensitve`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected ByteBuffer` | `_buf`

    - ### Fields inherited from class org.eclipse.jetty.io.AbstractBuffer

      `__IMMUTABLE, __READONLY, __READWRITE, __VOLATILE, _access, _get, _hash, _hashGet, _hashPut, _mark, _put, _string, _view, _volatile`

    - ### Fields inherited from interface org.eclipse.jetty.io.Buffer

      `IMMUTABLE, NON_VOLATILE, READONLY, READWRITE, VOLATILE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DirectNIOBuffer(ByteBuffer buffer, boolean immutable)`
    `DirectNIOBuffer(File file)`
    `DirectNIOBuffer(int size)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | `array()` Get the underlying array, if one exists.
    `int` | `capacity()` The capacity of the buffer.
    `ByteBuffer` | `getByteBuffer()`
    `boolean` | `isDirect()`
    `byte` | `peek(int position)` Get the byte at a specific index in the buffer.
    `int` | `peek(int index, byte[] b, int offset, int length)`
    `int` | `poke(int index, Buffer src)` Put the contents of the buffer at the specific index.
    `void` | `poke(int index, byte b)` Put a specific byte to a specific getIndex.
    `int` | `poke(int index, byte[] b, int offset, int length)` Put a specific byte to a specific getIndex.
    `int` | `readFrom(InputStream in, int max)` Read the buffer's contents from the input stream
    `void` | `writeTo(OutputStream out)` Write the buffer's contents to the output stream

    - ### Methods inherited from class org.eclipse.jetty.io.AbstractBuffer

      `asArray, asImmutableBuffer, asMutableBuffer, asNonVolatileBuffer, asReadOnlyBuffer, buffer, clear, compact, duplicate, equals, equalsIgnoreCase, get, get, get, getIndex, hasContent, hashCode, isImmutable, isReadOnly, isVolatile, length, mark, mark, markIndex, peek, peek, put, put, put, put, putIndex, reset, rewind, setGetIndex, setMarkIndex, setPutIndex, skip, slice, sliceFromMark, sliceFromMark, space, toDebugString, toDetailString, toString, toString, toString`

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

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

    - ### Methods inherited from interface org.eclipse.jetty.io.Buffer

      `asArray, asImmutableBuffer, asMutableBuffer, asNonVolatileBuffer, asReadOnlyBuffer, buffer, clear, compact, equalsIgnoreCase, get, get, get, getIndex, hasContent, isImmutable, isReadOnly, isVolatile, length, mark, mark, markIndex, peek, peek, put, put, put, put, putIndex, reset, setGetIndex, setMarkIndex, setPutIndex, skip, slice, sliceFromMark, sliceFromMark, space, toDetailString, toString, toString`

- - ### Field Detail

    - #### _buf

          protected final ByteBuffer _buf

  - ### Constructor Detail

    - #### DirectNIOBuffer

          public DirectNIOBuffer(int size)

    - #### DirectNIOBuffer

          public DirectNIOBuffer(ByteBuffer buffer,
                         boolean immutable)

    - #### DirectNIOBuffer

          public DirectNIOBuffer(File file)
                          throws IOException

      Parameters:
        `file` -
      Throws:
        `IOException`

  - ### Method Detail

    - #### isDirect

          public boolean isDirect()

      Specified by:
        `isDirect` in interface `NIOBuffer`

    - #### array

          public byte[] array()

      Description copied from interface: `Buffer`
      Get the underlying array, if one exists.
      Specified by:
        `array` in interface `Buffer`
      Returns:
        a `byte[]` backing this buffer or null if none exists.

    - #### capacity

          public int capacity()

      Description copied from interface: `Buffer`
      The capacity of the buffer. This is the maximum putIndex that may be set.
      Specified by:
        `capacity` in interface `Buffer`
      Returns:
        an `int` value

    - #### peek

          public byte peek(int position)

      Description copied from interface: `Buffer`
      Get the byte at a specific index in the buffer.
      Specified by:
        `peek` in interface `Buffer`
      Parameters:
        `position` - an `int` value
      Returns:
        a `byte` value

    - #### peek

          public int peek(int index,
                 byte[] b,
                 int offset,
                 int length)

      Specified by:
        `peek` in interface `Buffer`
      Parameters:
        `index` - an `int` value
        `b` - The byte array to peek into
        `offset` - The offset into the array to start peeking
        `length` - an `int` value
      Returns:
        The number of bytes actually peeked

    - #### poke

          public void poke(int index,
                  byte b)

      Description copied from interface: `Buffer`
      Put a specific byte to a specific getIndex.
      Specified by:
        `poke` in interface `Buffer`
      Parameters:
        `index` - an `int` value
        `b` - a `byte` value

    - #### poke

          public int poke(int index,
                 Buffer src)

      Description copied from interface: `Buffer`
      Put the contents of the buffer at the specific index.
      Specified by:
        `poke` in interface `Buffer`
      Overrides:
        `poke` in class `AbstractBuffer`
      Parameters:
        `index` - an `int` value
        `src` - a `Buffer`. If the source buffer is not modified
      Returns:
        The number of bytes actually poked

    - #### poke

          public int poke(int index,
                 byte[] b,
                 int offset,
                 int length)

      Description copied from interface: `Buffer`
      Put a specific byte to a specific getIndex.
      Specified by:
        `poke` in interface `Buffer`
      Overrides:
        `poke` in class `AbstractBuffer`
      Parameters:
        `index` - an `int` value
        `b` - a `byte array` value
      Returns:
        The number of bytes actually poked

    - #### getByteBuffer

          public ByteBuffer getByteBuffer()

      Specified by:
        `getByteBuffer` in interface `NIOBuffer`

    - #### readFrom

          public int readFrom(InputStream in,
                     int max)
                       throws IOException

      Description copied from interface: `Buffer`
      Read the buffer's contents from the input stream
      Specified by:
        `readFrom` in interface `Buffer`
      Overrides:
        `readFrom` in class `AbstractBuffer`
      Parameters:
        `in` - input stream
        `max` - maximum number of bytes that may be read
      Returns:
        actual number of bytes read or -1 for EOF
      Throws:
        `IOException`

    - #### writeTo

          public void writeTo(OutputStream out)
                       throws IOException

      Description copied from interface: `Buffer`
      Write the buffer's contents to the output stream
      Specified by:
        `writeTo` in interface `Buffer`
      Overrides:
        `writeTo` in class `AbstractBuffer`
      Throws:
        `IOException`

Copyright © 1995-2013 Mort Bay Consulting. All Rights Reserved.