Class ReverseOperation

java.lang.Object
io.deephaven.engine.table.impl.ReverseOperation
All Implemented Interfaces:
QueryTable.MemoizableOperation<QueryTable>, QueryTable.Operation<QueryTable>

public class ReverseOperation extends Object implements QueryTable.MemoizableOperation<QueryTable>
  • Constructor Details

    • ReverseOperation

      public ReverseOperation(QueryTable parent)
  • Method Details

    • getDescription

      public String getDescription()
      Specified by:
      getDescription in interface QueryTable.Operation<QueryTable>
      Returns:
      the description of this operation
    • getLogPrefix

      public String getLogPrefix()
      Specified by:
      getLogPrefix in interface QueryTable.Operation<QueryTable>
      Returns:
      the log prefix of this operation
    • getMemoizedOperationKey

      public MemoizedOperationKey getMemoizedOperationKey()
      Specified by:
      getMemoizedOperationKey in interface QueryTable.MemoizableOperation<QueryTable>
      Returns:
      the key that should be used to memoize off of
    • newSnapshotControl

      public OperationSnapshotControl newSnapshotControl(QueryTable queryTable)
      Specified by:
      newSnapshotControl in interface QueryTable.Operation<QueryTable>
    • initialize

      public QueryTable.Operation.Result<QueryTable> initialize(boolean usePrev, long beforeClock)
      Description copied from interface: QueryTable.Operation
      Initialize this operation.
      Specified by:
      initialize in interface QueryTable.Operation<QueryTable>
      Parameters:
      usePrev - data from the previous cycle should be used (otherwise use this cycle)
      beforeClock - the clock value that we captured before the function began; the function can use this value to bail out early if it notices something has gone wrong.
      Returns:
      the result table / listener if successful, null if it should be retried.
    • transform

      public WritableRowSet transform(@NotNull @NotNull RowSet outerRowSet)
      Transform an outer (reversed) RowSet to the inner (un-reversed) RowSet, or vice versa.
      Parameters:
      outerRowSet - The outer (reversed) RowSet
      Returns:
      The corresponding inner RowSet
    • transformPrev

      public WritableRowSet transformPrev(@NotNull @NotNull RowSet outerRowSet)
      Transform an outer (reversed) RowSet to the inner (un-reversed) RowSet as of the previous cycle, or vice versa.
      Parameters:
      outerRowSet - The outer (reversed) RowSet
      Returns:
      The corresponding inner RowSet
    • transform

      public long transform(long outerRowKey)
      Transform an outer (reversed) row key to the inner (un-reversed) row key, or vice versa.
      Parameters:
      outerRowKey - The outer (reversed) row key
      Returns:
      The corresponding inner row key
    • transformPrev

      public long transformPrev(long outerRowKey)
      Transform an outer (reversed) row key to the inner (un-reversed) row key as of the previous cycle, or vice versa.
      Parameters:
      outerRowKey - The outer (reversed) row key
      Returns:
      The corresponding inner row key