Interface ByteCursor


  • public interface ByteCursor
    The ByteCursor scans through a sequence of bytes. This is similar to ByteProcessor, but for external iteration rather than internal iteration. The external iteration allows the callers to control the pace of the iteration.
    • Method Detail

      • readByte

        boolean readByte()
        Check if the iterator has at least one byte left, and if so, read that byte and move the cursor forward. The byte will then be available through the getByte().
        Returns:
        true if the cursor read a byte and moved forward, otherwise false.
      • getByte

        byte getByte()
        Return the last byte that was read by readByte(). If readByte() has not been called on this cursor before, then -1 is returned.
        Returns:
        The next byte that was read by the most recent successful call to readByte().
      • currentOffset

        int currentOffset()
        The current position of this iterator into the underlying sequence of bytes. For instance, if we are iterating a buffer, this would be the iterators current offset into the buffer.
        Returns:
        The current iterator offset into the underlying sequence of bytes.
      • bytesLeft

        int bytesLeft()
        Get the current number of bytes left in the iterator.
        Returns:
        The number of bytes left in the iterator.
      • process

        default int process​(ByteProcessor processor)
        Process the remaining bytes in this iterator with the given ByteProcessor. This method consumes the iterator.
        Parameters:
        processor - The processor to use for processing the bytes in the iterator.
        Returns:
        The number of bytes processed, if the process method returned false, or -1 if the whole iterator was processed.