Class FrameCursor

java.lang.Object
org.apache.druid.frame.segment.FrameCursor
All Implemented Interfaces:
Cursor

public class FrameCursor extends Object implements Cursor
An implementation of Cursor used by RowFrameCursorFactory and ColumnarFrameCursorFactory. Adds the methods getCurrentRow() and setCurrentRow(int) so the cursor can be moved to particular rows.
  • Constructor Details

  • Method Details

    • getColumnSelectorFactory

      public ColumnSelectorFactory getColumnSelectorFactory()
      Description copied from interface: Cursor
      Get a ColumnSelectorFactory whose selectors will be backed by the row values at the current position of the cursor
      Specified by:
      getColumnSelectorFactory in interface Cursor
    • advance

      public void advance()
      Description copied from interface: Cursor
      Advance the cursor to the next position, checking if thread has been interrupted after advancing and possibly throwing QueryInterruptedException if so. Callers should check Cursor.isDone() or Cursor.isDoneOrInterrupted() before getting the next value from a selector.
      Specified by:
      advance in interface Cursor
    • advanceUninterruptibly

      public void advanceUninterruptibly()
      Description copied from interface: Cursor
      Advance to the cursor to the next position. Callers should check Cursor.isDone() or Cursor.isDoneOrInterrupted() before getting the next value from a selector. However, underlying implementation may still check for thread interruption if advancing the cursor is a long-running operation.
      Specified by:
      advanceUninterruptibly in interface Cursor
    • isDone

      public boolean isDone()
      Description copied from interface: Cursor
      Check if the current cursor position is valid, returning false if there are values to read from selectors created by Cursor.getColumnSelectorFactory(). If true, any such selectors will no longer produce values.
      Specified by:
      isDone in interface Cursor
    • isDoneOrInterrupted

      public boolean isDoneOrInterrupted()
      Description copied from interface: Cursor
      Check if the current cursor position is valid, or if the thread has been interrupted.
      Specified by:
      isDoneOrInterrupted in interface Cursor
      See Also:
    • reset

      public void reset()
      Description copied from interface: Cursor
      Reset to start of cursor. Most cursor implementations are backed by immutable data, but there is generically no guarantee that advancing through a cursor again will read exactly the same data or even number of rows, since the underlying data might be mutable in some cases.
      Specified by:
      reset in interface Cursor
    • getCurrentRow

      public int getCurrentRow()
      Returns the current row number.
    • setCurrentRow

      public void setCurrentRow(int rowNumber)
      Moves this cursor to a particular row number.