org.apache.tinkerpop.gremlin.structure.io

## Interface Buffer

-     public interface Buffer

  Represents an abstract view for one or more primitive byte arrays and NIO buffers.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `capacity()` Returns the number of bytes (octets) this buffer can contain.
    `Buffer` | `getBytes(int index, byte[] dst)` Transfers this buffer's data to the specified destination starting at the specified absolute `index`.
    `boolean` | `isDirect()` Returns `true` if and only if this buffer is backed by an NIO direct buffer.
    `Buffer` | `markWriterIndex()` Marks the current writer index in this buffer.
    `ByteBuffer` | `nioBuffer()` Exposes this buffer's readable bytes as a NIO `ByteBuffer`.
    `ByteBuffer` | `nioBuffer(int index, int length)` Exposes this buffer's sub-region as an NIO `ByteBuffer`.
    `int` | `nioBufferCount()` Returns the maximum number of NIO `ByteBuffer`s that consist this buffer.
    `ByteBuffer[]` | `nioBuffers()` Exposes this buffer's readable bytes as NIO ByteBuffer's instances.
    `ByteBuffer[]` | `nioBuffers(int index, int length)` Exposes this buffer's readable bytes as NIO ByteBuffer's instances.
    `int` | `readableBytes()` Returns the number of readable bytes.
    `boolean` | `readBoolean()` Gets a boolean and advances the reader index.
    `byte` | `readByte()` Gets a byte and advances the reader index.
    `Buffer` | `readBytes(byte[] destination)` Transfers this buffer's data to the specified destination starting at the current reader index and advances the reader index.
    `Buffer` | `readBytes(byte[] destination, int dstIndex, int length)` Transfers this buffer's data to the specified destination starting at the current reader index and advances the reader index.
    `Buffer` | `readBytes(ByteBuffer dst)` Transfers this buffer's data to the specified destination starting at the current reader index until the destination's position reaches its limit, and advances the reader index.
    `Buffer` | `readBytes(OutputStream out, int length)` Transfers this buffer's data to the specified stream starting at the current reader index and advances the index.
    `double` | `readDouble()` Gets a 64-bit floating point number and advances the reader index.
    `int` | `readerIndex()` Returns the reader index of this buffer.
    `Buffer` | `readerIndex(int readerIndex)` Sets the reader index of this buffer.
    `float` | `readFloat()` Gets a 32-bit floating point number and advances the reader index.
    `int` | `readInt()` Gets a 32-bit integer at the current index and advances the reader index.
    `long` | `readLong()` Gets a 64-bit integer and advances the reader index.
    `short` | `readShort()` Gets a 16-bit short integer and advances the reader index.
    `int` | `referenceCount()` Returns the reference count of this object.
    `boolean` | `release()` Decreases the reference count by `1` and deallocates this object if the reference count reaches at `0`.
    `Buffer` | `resetWriterIndex()` Repositions the current writer index to the marked index in this buffer.
    `Buffer` | `retain()` Increases the reference count by `1`.
    `Buffer` | `writeBoolean(boolean value)` Sets the specified boolean at the current writer index and advances the index.
    `Buffer` | `writeByte(int value)` Sets the specified byte at the current writer index and advances the index.
    `Buffer` | `writeBytes(byte[] src)` Transfers the specified source array's data to this buffer starting at the current writer index and advances the index.
    `Buffer` | `writeBytes(byte[] src, int srcIndex, int length)` Transfers the specified source array's data to this buffer starting at the current writer index and advances the index.
    `Buffer` | `writeBytes(ByteBuffer src)` Transfers the specified source byte data to this buffer starting at the current writer index and advances the index.
    `Buffer` | `writeDouble(double value)` Sets the specified 64-bit floating point number at the current writer index and advances the index.
    `Buffer` | `writeFloat(float value)` Sets the specified 32-bit floating point number at the current writer index and advances the index.
    `Buffer` | `writeInt(int value)` Sets the specified 32-bit integer at the current writer index and advances the index.
    `Buffer` | `writeLong(long value)` Sets the specified 64-bit long integer at the current writer index and advances the index.
    `int` | `writerIndex()` Returns the writer index of this buffer.
    `Buffer` | `writerIndex(int writerIndex)` Sets the writer index of this buffer.
    `Buffer` | `writeShort(int value)` Sets the specified 16-bit short integer at the current writer index and advances the index.

- - ### Method Detail

    - #### readableBytes

          int readableBytes()

      Returns the number of readable bytes.

    - #### readerIndex

          int readerIndex()

      Returns the reader index of this buffer.

    - #### readerIndex

          Buffer readerIndex(int readerIndex)

      Sets the reader index of this buffer.
      Throws:
        `IndexOutOfBoundsException` - if its out of bounds.

    - #### writerIndex

          int writerIndex()

      Returns the writer index of this buffer.

    - #### writerIndex

          Buffer writerIndex(int writerIndex)

      Sets the writer index of this buffer.

    - #### markWriterIndex

          Buffer markWriterIndex()

      Marks the current writer index in this buffer.

    - #### resetWriterIndex

          Buffer resetWriterIndex()

      Repositions the current writer index to the marked index in this buffer.

    - #### capacity

          int capacity()

      Returns the number of bytes (octets) this buffer can contain.

    - #### isDirect

          boolean isDirect()

      Returns `true` if and only if this buffer is backed by an NIO direct buffer.

    - #### readBoolean

          boolean readBoolean()

      Gets a boolean and advances the reader index.

    - #### readByte

          byte readByte()

      Gets a byte and advances the reader index.

    - #### readShort

          short readShort()

      Gets a 16-bit short integer and advances the reader index.

    - #### readInt

          int readInt()

      Gets a 32-bit integer at the current index and advances the reader index.

    - #### readLong

          long readLong()

      Gets a 64-bit integer and advances the reader index.

    - #### readFloat

          float readFloat()

      Gets a 32-bit floating point number and advances the reader index.

    - #### readDouble

          double readDouble()

      Gets a 64-bit floating point number and advances the reader index.

    - #### readBytes

          Buffer readBytes(byte[] destination)

      Transfers this buffer's data to the specified destination starting at the current reader index and advances the reader index.

    - #### readBytes

          Buffer readBytes(byte[] destination,
                           int dstIndex,
                           int length)

      Transfers this buffer's data to the specified destination starting at the current reader index and advances the reader index.
      Parameters:
        `destination` - The destination buffer
        `dstIndex` - the first index of the destination
        `length` - the number of bytes to transfer

    - #### readBytes

          Buffer readBytes(ByteBuffer dst)

      Transfers this buffer's data to the specified destination starting at the current reader index until the destination's position reaches its limit, and advances the reader index.

    - #### readBytes

          Buffer readBytes(OutputStream out,
                           int length)
                    throws IOException

      Transfers this buffer's data to the specified stream starting at the current reader index and advances the index.
      Parameters:
        `length` - the number of bytes to transfer
      Throws:
        `IOException` - if the specified stream threw an exception during I/O

    - #### writeBoolean

          Buffer writeBoolean(boolean value)

      Sets the specified boolean at the current writer index and advances the index.

    - #### writeByte

          Buffer writeByte(int value)

      Sets the specified byte at the current writer index and advances the index.

    - #### writeShort

          Buffer writeShort(int value)

      Sets the specified 16-bit short integer at the current writer index and advances the index.

    - #### writeInt

          Buffer writeInt(int value)

      Sets the specified 32-bit integer at the current writer index and advances the index.

    - #### writeLong

          Buffer writeLong(long value)

      Sets the specified 64-bit long integer at the current writer index and advances the index.

    - #### writeFloat

          Buffer writeFloat(float value)

      Sets the specified 32-bit floating point number at the current writer index and advances the index.

    - #### writeDouble

          Buffer writeDouble(double value)

      Sets the specified 64-bit floating point number at the current writer index and advances the index.

    - #### writeBytes

          Buffer writeBytes(byte[] src)

      Transfers the specified source array's data to this buffer starting at the current writer index and advances the index.

    - #### writeBytes

          Buffer writeBytes(ByteBuffer src)

      Transfers the specified source byte data to this buffer starting at the current writer index and advances the index.

    - #### writeBytes

          Buffer writeBytes(byte[] src,
                            int srcIndex,
                            int length)

      Transfers the specified source array's data to this buffer starting at the current writer index and advances the index.

    - #### release

          boolean release()

      Decreases the reference count by `1` and deallocates this object if the reference count reaches at `0`.

    - #### retain

          Buffer retain()

      Increases the reference count by `1`.

    - #### referenceCount

          int referenceCount()

      Returns the reference count of this object.

    - #### nioBufferCount

          int nioBufferCount()

      Returns the maximum number of NIO `ByteBuffer`s that consist this buffer.

    - #### nioBuffers

          ByteBuffer[] nioBuffers()

      Exposes this buffer's readable bytes as NIO ByteBuffer's instances.

    - #### nioBuffers

          ByteBuffer[] nioBuffers(int index,
                                  int length)

      Exposes this buffer's readable bytes as NIO ByteBuffer's instances.

    - #### nioBuffer

          ByteBuffer nioBuffer()

      Exposes this buffer's readable bytes as a NIO `ByteBuffer`. The returned buffer either share or contains the copied content of this buffer, while changing the position and limit of the returned NIO buffer does not affect the indexes and marks of this buffer.

    - #### nioBuffer

          ByteBuffer nioBuffer(int index,
                               int length)

      Exposes this buffer's sub-region as an NIO `ByteBuffer`.

    - #### getBytes

          Buffer getBytes(int index,
                          byte[] dst)

      Transfers this buffer's data to the specified destination starting at the specified absolute `index`. This method does not modify reader or writer indexes.

Copyright © 2013–2022 Apache Software Foundation. All rights reserved.