Class PrevColumnSource<T>

java.lang.Object
io.deephaven.engine.table.impl.AbstractColumnSource<T>
io.deephaven.engine.table.impl.PrevColumnSource<T>
All Implemented Interfaces:
ChunkSource<Values>, ChunkSource.WithPrev<Values>, ColumnSource<T>, ElementSource<T>, FillContextMaker, GetContextMaker, DefaultChunkSource<Values>, DefaultChunkSource.WithPrev<Values>, Releasable, TupleExporter<T>, TupleSource<T>

public final class PrevColumnSource<T> extends AbstractColumnSource<T>
Wrapper ColumnSource that maps current data accessors to previous data accessors (and disables previous data accessors).
  • Constructor Details

    • PrevColumnSource

      public PrevColumnSource(ColumnSource<T> originalSource)
  • Method Details

    • get

      public final T get(long rowKey)
      Description copied from interface: ElementSource
      Get the value from the source. This may return boxed values for basic types. RowKeys that are not present are undefined.
      Parameters:
      rowKey - the location in key space to get the value from.
      Returns:
      the value at the rowKey, potentially null.
    • getBoolean

      public final Boolean getBoolean(long rowKey)
      Description copied from interface: ElementSource
      Get the value at the rowKey as a Boolean. RowKeys that are not present are undefined.
      Parameters:
      rowKey - the location in key space to get the value from.
      Returns:
      the boolean at the rowKey, potentially null.
    • getByte

      public final byte getByte(long rowKey)
      Description copied from interface: ElementSource
      Get the value at the rowKey as a byte. RowKeys that are not present are undefined.
      Parameters:
      rowKey - the location in key space to get the value from.
      Returns:
      the boolean at the rowKey, null values are represented by QueryConstants.NULL_BYTE
    • getChar

      public final char getChar(long rowKey)
      Description copied from interface: ElementSource
      Get the value at the rowKey as a char. RowKeys that are not present are undefined.
      Parameters:
      rowKey - the location in key space to get the value from.
      Returns:
      the char at the rowKey, null values are represented by QueryConstants.NULL_CHAR
    • getDouble

      public final double getDouble(long rowKey)
      Description copied from interface: ElementSource
      Get the value at the rowKey as a double. RowKeys that are not present are undefined.
      Parameters:
      rowKey - the location in key space to get the value from.
      Returns:
      the double at the rowKey, null values are represented by QueryConstants.NULL_DOUBLE
    • getFloat

      public final float getFloat(long rowKey)
      Description copied from interface: ElementSource
      Get the value at the rowKey as a float. RowKeys that are not present are undefined.
      Parameters:
      rowKey - the location in key space to get the value from.
      Returns:
      the float at the rowKey, null values are represented by QueryConstants.NULL_FLOAT
    • getInt

      public final int getInt(long rowKey)
      Description copied from interface: ElementSource
      Get the value at the rowKey as an int. RowKeys that are not present are undefined.
      Parameters:
      rowKey - the location in key space to get the value from.
      Returns:
      the int at the rowKey, null values are represented by QueryConstants.NULL_INT
    • getLong

      public final long getLong(long rowKey)
      Description copied from interface: ElementSource
      Get the value at the rowKey as a long. RowKeys that are not present are undefined.
      Parameters:
      rowKey - the location in key space to get the value from.
      Returns:
      the long at the rowKey, null values are represented by QueryConstants.NULL_LONG
    • getShort

      public final short getShort(long rowKey)
      Description copied from interface: ElementSource
      Get the value at the rowKey as a short. RowKeys that are not present are undefined.
      Parameters:
      rowKey - the location in key space to get the value from.
      Returns:
      the short at the rowKey, null values are represented by QueryConstants.NULL_SHORT
    • getPrev

      public final T getPrev(long rowKey)
      Description copied from interface: ElementSource
      Get the previous value at the rowKey. Previous values are used during an UG update cycle to process changes in data. During normal operation previous values will be identical to current values. RowKeys that were not present are undefined.
      Parameters:
      rowKey - the location in key space to get the value from.
      Returns:
      the previous value at the rowKey, potentially null.
    • getPrevBoolean

      public final Boolean getPrevBoolean(long rowKey)
      Description copied from interface: ElementSource
      Get the previous value at the rowKey as a Boolean. See ElementSource.getPrev(long) for more details. RowKeys that were not present are undefined.
      Parameters:
      rowKey - the location in key space to get the previous value from.
      Returns:
      the previous boolean at the rowKey, potentially null.
    • getPrevByte

      public final byte getPrevByte(long rowKey)
      Description copied from interface: ElementSource
      Get the previous value at the rowKey as a byte. See ElementSource.getPrev(long) for more details. RowKeys that were not present are undefined.
      Parameters:
      rowKey - the location in key space to get the previous value from.
      Returns:
      the previous boolean at the rowKey, null values are represented by QueryConstants.NULL_BYTE
    • getPrevChar

      public final char getPrevChar(long rowKey)
      Description copied from interface: ElementSource
      Get the previous value at the rowKey as a char. See ElementSource.getPrev(long) for more details. RowKeys that were not present are undefined.
      Parameters:
      rowKey - ohe location in key space to get the previous value from.
      Returns:
      the previous char at the rowKey, null values are represented by QueryConstants.NULL_CHAR
    • getPrevDouble

      public final double getPrevDouble(long rowKey)
      Description copied from interface: ElementSource
      Get the previous value at the rowKey as a double. See ElementSource.getPrev(long) for more details. RowKeys that were not present are undefined.
      Parameters:
      rowKey - the location in key space to get the previous value from.
      Returns:
      the previous double at the rowKey, null values are represented by QueryConstants.NULL_DOUBLE
    • getPrevFloat

      public final float getPrevFloat(long rowKey)
      Description copied from interface: ElementSource
      Get the previous value at the rowKey as a float. See ElementSource.getPrev(long) for more details. RowKeys that were not present are undefined.
      Parameters:
      rowKey - the location in key space to get the previous value from.
      Returns:
      the previous float at the rowKey, null values are represented by QueryConstants.NULL_FLOAT
    • getPrevInt

      public final int getPrevInt(long rowKey)
      Description copied from interface: ElementSource
      Get the previous value at the rowKey as an int. See ElementSource.getPrev(long) for more details. RowKeys that were not present are undefined.
      Parameters:
      rowKey - the location in key space to get the previous value from.
      Returns:
      the previous int at the rowKey, null values are represented by QueryConstants.NULL_INT
    • getPrevLong

      public final long getPrevLong(long rowKey)
      Description copied from interface: ElementSource
      Get the previous value at the rowKey as a long. See ElementSource.getPrev(long) for more details.
      Parameters:
      rowKey - the location in key space to get the previous value from.
      Returns:
      the previous long at the rowKey, null values are represented by QueryConstants.NULL_LONG
    • getPrevShort

      public final short getPrevShort(long rowKey)
      Description copied from interface: ElementSource
      Get the previous value at the rowKey as a short. See ElementSource.getPrev(long) for more details. RowKeys that were not present are undefined.
      Parameters:
      rowKey - the location in key space to get the previous value from.
      Returns:
      the previous short at the rowKey, null values are represented by QueryConstants.NULL_SHORT
    • getType

      public final Class<T> getType()
      Specified by:
      getType in interface ColumnSource<T>
      Overrides:
      getType in class AbstractColumnSource<T>
    • getComponentType

      public final Class<?> getComponentType()
      Specified by:
      getComponentType in interface ColumnSource<T>
      Overrides:
      getComponentType in class AbstractColumnSource<T>
    • isImmutable

      public final boolean isImmutable()
      Description copied from interface: ColumnSource
      Determine if this column source is immutable, meaning that the values at a given row key never change.
      Returns:
      true if the values at a given row key of the column source never change, false otherwise
    • makeGetContext

      public final ChunkSource.GetContext makeGetContext(int chunkCapacity, SharedContext sharedContext)
      Description copied from interface: GetContextMaker
      Allocate a new ChunkSource.GetContext for retrieving chunks from this GetContextMaker, typically a ChunkSource.
      Parameters:
      chunkCapacity - The maximum size required for any WritableChunk allocated as part of the result.
      sharedContext - Shared store of intermediate results.
      Returns:
      A context for use with get operations
    • getChunk

      public final Chunk<? extends Values> getChunk(@NotNull @NotNull ChunkSource.GetContext context, @NotNull @NotNull RowSequence rowSequence)
      Description copied from interface: ChunkSource
      Returns a chunk of data corresponding to the keys from the given RowSequence.
      Parameters:
      context - A context containing all mutable/state related data used in retrieving the Chunk. In particular, the Context may be used to provide a Chunk data pool
      rowSequence - An RowSequence representing the keys to be fetched
      Returns:
      A chunk of data corresponding to the keys from the given RowSequence
    • getPrevChunk

      public final Chunk<? extends Values> getPrevChunk(@NotNull @NotNull ChunkSource.GetContext context, @NotNull @NotNull RowSequence rowSequence)
      Description copied from interface: ChunkSource.WithPrev
      Returns a chunk of previous data corresponding to the keys from the given RowSequence.
      Parameters:
      context - A context containing all mutable/state related data used in retrieving the Chunk. In particular, the Context may be used to provide a Chunk data pool
      rowSequence - An RowSequence representing the keys to be fetched
      Returns:
      A chunk of data corresponding to the keys from the given RowSequence
    • makeFillContext

      public final ChunkSource.FillContext makeFillContext(int chunkCapacity, SharedContext sharedContext)
      Description copied from interface: FillContextMaker
      Allocate a new ChunkSource.FillContext for filling chunks from this FillContextMaker, typically a ChunkSource.
      Parameters:
      chunkCapacity - The maximum size of any WritableChunk that will be filled with this context
      sharedContext - Shared store of intermediate results.
      Returns:
      A context for use with fill operations
    • fillChunk

      public final void fillChunk(@NotNull @NotNull ChunkSource.FillContext context, @NotNull @NotNull WritableChunk<? super Values> destination, @NotNull @NotNull RowSequence rowSequence)
      Description copied from interface: ChunkSource
      Populates the given destination chunk with data corresponding to the keys from the given RowSequence.
      Specified by:
      fillChunk in interface ChunkSource<T>
      Overrides:
      fillChunk in class AbstractColumnSource<T>
      Parameters:
      context - A context containing all mutable/state related data used in retrieving the Chunk.
      destination - The chunk to be populated according to rowSequence. No assumptions shall be made about the size of the chunk shall be made. The chunk will be populated from position [0,rowSequence.size()).
      rowSequence - An RowSequence representing the keys to be fetched
    • fillPrevChunk

      public final void fillPrevChunk(@NotNull @NotNull ChunkSource.FillContext context, @NotNull @NotNull WritableChunk<? super Values> destination, @NotNull @NotNull RowSequence rowSequence)
      Description copied from interface: ChunkSource.WithPrev
      Populates the given destination chunk with data corresponding to the keys from the given RowSequence.
      Specified by:
      fillPrevChunk in interface ChunkSource.WithPrev<T>
      Overrides:
      fillPrevChunk in class AbstractColumnSource<T>
      Parameters:
      context - A context containing all mutable/state related data used in retrieving the Chunk.
      destination - The chunk to be populated according to rowSequence. No assumptions shall be made about the size of the chunk shall be made. The chunk will be populated from position [0,rowSequence.size()).
      rowSequence - An RowSequence representing the keys to be fetched
    • isStateless

      public boolean isStateless()
      Description copied from interface: ColumnSource
      Most column sources will return the same value for a given row without respect to the order that the rows are read. Those columns sources are considered "stateless" and should return true. Some column sources, however may be dependent on evaluation order. For example, a formula that updates a Map must be evaluated from the first row to the last row. A column source that has the potential to depend on the order of evaluation must return false.
      Returns:
      true if this is a stateless column source