Class SeekableReadableChannelOverBuffer<A>

All Implemented Interfaces:
Closeable, AutoCloseable, Cloneable, Channel, HasArrayOps<A>, HasPosition, ReadableChannel<A>, ReadableSource<A>, SeekableReadableChannel<A>

public class SeekableReadableChannelOverBuffer<A> extends SeekableReadableChannelBase<A>
  • Field Details

    • buffer

      protected ArrayReadable<A> buffer
    • offset

      protected long offset
  • Constructor Details

    • SeekableReadableChannelOverBuffer

      public SeekableReadableChannelOverBuffer(ArrayReadable<A> buffer, long offset)
  • Method Details

    • getArrayOps

      public ArrayOps<A> getArrayOps()
    • read

      public int read(A array, int position, int length) throws IOException
      Description copied from interface: ReadableSource
      Read method following the usual InputStream protocol.
      Parameters:
      array - The array into which to put the read data
      position - Offset into array where to start writing
      length - Maximum number of items to read.
      Returns:
      The number of items read. Return -1 if end of data was reached, and 0 iff length was 0.
      Throws:
      IOException
    • cloneObject

      public SeekableReadableChannel<A> cloneObject()
      Description copied from interface: SeekableReadableChannel
      Optional operation. Open a new channel to the underlying source at the same position as this channel. The returned channel is an independent entity and needs to be closed separatedly. Opening a channel this way may be faster than opening a new channel at the source because information about this channel may be re-used (e.g. held pages and pointers into internal data structures)
    • position

      public long position()
    • position

      public void position(long position)