Interface ByteArray

All Superinterfaces:
IoAbsoluteReader, IoAbsoluteWriter
All Known Implementing Classes:
AbstractByteArray, BufferByteArray, ByteArrayPool.DirectBufferByteArray, CompositeByteArray

public interface ByteArray extends IoAbsoluteReader, IoAbsoluteWriter
Represents a sequence of bytes that can be read or written directly or through a cursor.
  • Method Details

    • first

      int first()
      Specified by:
      first in interface IoAbsoluteReader
      Specified by:
      first in interface IoAbsoluteWriter
      Returns:
      the index of the first byte that can be accessed.
    • last

      int last()
      Specified by:
      last in interface IoAbsoluteReader
      Specified by:
      last in interface IoAbsoluteWriter
      Returns:
      the index after the last byte that can be accessed.
    • order

      ByteOrder order()
      Specified by:
      order in interface IoAbsoluteReader
      Specified by:
      order in interface IoAbsoluteWriter
      Returns:
      the order of the bytes.
    • order

      void order(ByteOrder order)
      Set the byte order of the array.
      Parameters:
      order - The ByteOrder to use
    • free

      void free()
      Remove any resources associated with this object. Using the object after this method is called may result in undefined behaviour.
    • getIoBuffers

      Iterable<IoBuffer> getIoBuffers()
      Returns:
      the sequence of IoBuffers that back this array. Compared to getSingleIoBuffer(), this method should be relatively efficient for all implementations.
    • getSingleIoBuffer

      IoBuffer getSingleIoBuffer()
      Returns:
      a single IoBuffer that backs this array. Some implementations may initially have data split across multiple buffers, so calling this method may require a new buffer to be allocated and populated.
    • equals

      boolean equals(Object other)
      A ByteArray is equal to another ByteArray if they start and end at the same index, have the same byte order, and contain the same bytes at each index.
      Overrides:
      equals in class Object
      Parameters:
      other - The ByteArray we want to compare with
      Returns:
      true if both ByteArray are equals
    • get

      byte get(int index)
      Specified by:
      get in interface IoAbsoluteReader
      Parameters:
      index - The starting position
      Returns:
      a byte from the given index.
    • get

      void get(int index, IoBuffer bb)
      Gets enough bytes to fill the IoBuffer from the given index.
      Specified by:
      get in interface IoAbsoluteReader
      Parameters:
      index - The starting position
      bb - The IoBuffer that will be filled with the bytes
    • getInt

      int getInt(int index)
      Specified by:
      getInt in interface IoAbsoluteReader
      Parameters:
      index - The starting position
      Returns:
      an int from the given index.
    • cursor

      Returns:
      a cursor starting at index 0 (which may not be the start of the array).
    • cursor

      ByteArray.Cursor cursor(int index)
      Parameters:
      index - The starting point
      Returns:
      a cursor starting at the given index.