Class RowSetColumnSourceWrapper
java.lang.Object
io.deephaven.engine.table.impl.AbstractColumnSource<RowSet>
io.deephaven.engine.table.impl.sources.RowSetColumnSourceWrapper
- All Implemented Interfaces:
ChunkSource<Values>,ChunkSource.WithPrev<Values>,ColumnSource<RowSet>,ElementSource<RowSet>,FillContextMaker,GetContextMaker,ColumnSourceGetDefaults.ForObject<RowSet>,DefaultChunkSource<Values>,DefaultChunkSource.WithPrev<Values>,MutableColumnSource<RowSet>,MutableColumnSourceGetDefaults.ForObject<RowSet>,PushdownFilterMatcher,Releasable,TupleExporter<RowSet>,TupleSource<RowSet>
public class RowSetColumnSourceWrapper
extends AbstractColumnSource<RowSet>
implements MutableColumnSourceGetDefaults.ForObject<RowSet>
This class wraps a
ColumnSource of RowSet and returns TrackingRowSet.prev() when previous
values are requested and the accessed value is tracking. This should be used when the row set
objects are mutated instead of replaced during a cycle, e.g. when TableOperations.aggBy(Aggregation) is used with
AggregationProcessor.forExposeGroupRowSets().-
Nested Class Summary
Nested classes/interfaces inherited from class io.deephaven.engine.table.impl.AbstractColumnSource
AbstractColumnSource.DefaultedImmutable<DATA_TYPE>, AbstractColumnSource.DefaultedMutable<DATA_TYPE>Nested classes/interfaces inherited from interface io.deephaven.engine.table.ChunkSource
ChunkSource.FillContext, ChunkSource.WithPrev<ATTR extends Any>Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.DefaultChunkSource
DefaultChunkSource.SupportsContiguousGet<ATTR extends Any>, DefaultChunkSource.WithPrev<ATTR extends Any>Nested classes/interfaces inherited from interface io.deephaven.engine.table.TupleExporter
TupleExporter.ExportElementFunction<TUPLE_TYPE> -
Field Summary
Fields inherited from class io.deephaven.engine.table.impl.AbstractColumnSource
componentType, type, updateGraph, USE_RANGES_AVERAGE_RUN_LENGTHFields inherited from interface io.deephaven.engine.table.ChunkSource
DEFAULT_FILL_INSTANCE, ZERO_LENGTH_CHUNK_SOURCE_ARRAYFields inherited from interface io.deephaven.engine.table.ChunkSource.WithPrev
ZERO_LENGTH_CHUNK_SOURCE_WITH_PREV_ARRAYFields inherited from interface io.deephaven.engine.table.ColumnSource
ZERO_LENGTH_COLUMN_SOURCE_ARRAY -
Method Summary
Modifier and TypeMethodDescriptionvoidfillChunk(@NotNull ChunkSource.FillContext context, @NotNull WritableChunk<? super Values> destination, @NotNull RowSequence rowSequence) Populates the given destination chunk with data corresponding to the keys from the givenRowSequence.voidfillPrevChunk(@NotNull ChunkSource.FillContext context, @NotNull WritableChunk<? super Values> destination, @NotNull RowSequence rowSequence) Populates the given destination chunk with data corresponding to the keys from the givenRowSequence.static RowSetColumnSourceWrapperfrom(@NotNull ColumnSource<? extends RowSet> source) @Nullable RowSetget(long rowKey) Get the value from the source.getChunk(ChunkSource.GetContext context, long firstKey, long lastKey) Same asChunkSource.getChunk(GetContext, RowSequence), except that you pass in the begin and last keys representing the begin and last (inclusive) keys of a single range rather than anRowSequence.getChunk(ChunkSource.GetContext context, @NotNull RowSequence rowSequence) Returns a chunk of data corresponding to the keys from the givenRowSequence.Class<?>@Nullable RowSetgetPrev(long rowKey) Get the previous value at the rowKey.getPrevChunk(ChunkSource.GetContext context, long firstKey, long lastKey) Same asChunkSource.WithPrev.getPrevChunk(GetContext, RowSequence), except that you pass in the begin and last keys representing the begin and last (inclusive) keys of a single range rather than anRowSequence.getPrevChunk(ChunkSource.GetContext context, @NotNull RowSequence rowSequence) Returns a chunk of previous data corresponding to the keys from the givenRowSequence.getType()makeFillContext(int chunkCapacity, SharedContext sharedContext) Allocate a newChunkSource.FillContextfor filling chunks from thisFillContextMaker, typically aChunkSource.makeGetContext(int chunkCapacity, SharedContext sharedContext) Allocate a newChunkSource.GetContextfor retrieving chunks from thisGetContextMaker, typically aChunkSource.Methods inherited from class io.deephaven.engine.table.impl.AbstractColumnSource
allowsReinterpret, defaultFillChunk, defaultFillPrevChunk, doReinterpret, estimatePushdownFilterCost, getPrevSource, makePushdownFilterContext, match, pushdownFilter, pushdownManager, reinterpretMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.deephaven.engine.table.ColumnSource
allowsReinterpret, cast, cast, cast, cast, createPreviousTuple, createTuple, createTupleFromValues, exportAllTo, exportElement, exportElement, getChunkType, getPrevSource, isStateless, match, reinterpret, releaseCachedResources, startTrackingPrevValues, tupleLengthMethods inherited from interface io.deephaven.engine.table.impl.ColumnSourceGetDefaults.ForObject
getBoolean, getByte, getChar, getDouble, getFloat, getInt, getLong, getShortMethods inherited from interface io.deephaven.engine.table.impl.DefaultChunkSource
getChunkByFillingMethods inherited from interface io.deephaven.engine.table.impl.DefaultChunkSource.WithPrev
getPrevChunkByFillingMethods inherited from interface io.deephaven.engine.table.FillContextMaker
makeFillContextMethods inherited from interface io.deephaven.engine.table.GetContextMaker
makeGetContextMethods inherited from interface io.deephaven.engine.table.impl.MutableColumnSource
isImmutableMethods inherited from interface io.deephaven.engine.table.impl.MutableColumnSourceGetDefaults.ForObject
getPrevBoolean, getPrevByte, getPrevChar, getPrevDouble, getPrevFloat, getPrevInt, getPrevLong, getPrevShortMethods inherited from interface io.deephaven.engine.table.TupleExporter
exportAllReinterpretedTo, exportAllReinterpretedTo, exportAllTo, exportElementReinterpretedMethods inherited from interface io.deephaven.engine.table.TupleSource
createTupleFromReinterpretedValues
-
Method Details
-
from
public static RowSetColumnSourceWrapper from(@NotNull @NotNull ColumnSource<? extends RowSet> source) -
getType
- Specified by:
getTypein interfaceColumnSource<RowSet>- Overrides:
getTypein classAbstractColumnSource<RowSet>
-
getComponentType
- Specified by:
getComponentTypein interfaceColumnSource<RowSet>- Overrides:
getComponentTypein classAbstractColumnSource<RowSet>
-
get
Description copied from interface:ElementSourceGet the value from the source. This may return boxed values for basic types. RowKeys that are not present are undefined.- Specified by:
getin interfaceElementSource<RowSet>- Parameters:
rowKey- the location in key space to get the value from.- Returns:
- the value at the rowKey, potentially null.
-
getPrev
Description copied from interface:ElementSourceGet the previous value at the rowKey. Previous values are used during anUGupdatecycle to process changes in data. Duringnormaloperation previous values will be identical tocurrentvalues. RowKeys that were not present are undefined.- Specified by:
getPrevin interfaceElementSource<RowSet>- Parameters:
rowKey- the location in key space to get the value from.- Returns:
- the previous value at the rowKey, potentially null.
-
getChunk
public Chunk<? extends Values> getChunk(@NotNull ChunkSource.GetContext context, @NotNull @NotNull RowSequence rowSequence) Description copied from interface:ChunkSourceReturns a chunk of data corresponding to the keys from the givenRowSequence.- Specified by:
getChunkin interfaceChunkSource<Values>- Specified by:
getChunkin interfaceDefaultChunkSource<Values>- 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 poolrowSequence- AnRowSequencerepresenting the keys to be fetched- Returns:
- A chunk of data corresponding to the keys from the given
RowSequence
-
getChunk
public Chunk<? extends Values> getChunk(@NotNull ChunkSource.GetContext context, long firstKey, long lastKey) Description copied from interface:ChunkSourceSame asChunkSource.getChunk(GetContext, RowSequence), except that you pass in the begin and last keys representing the begin and last (inclusive) keys of a single range rather than anRowSequence. Typically you want to call this only if you don't have anRowSequence, such as during anRowSequence.forAllRowKeyRanges(LongRangeConsumer)call. In this case, it allows you to avoid creating an intermediaryRowSequenceobject.- Specified by:
getChunkin interfaceChunkSource<Values>- Specified by:
getChunkin interfaceDefaultChunkSource<Values>- 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 poolfirstKey- The beginning key (inclusive) of the range to fetch in the chunklastKey- The last key (inclusive) of the range to fetch in the chunk
-
fillChunk
public void fillChunk(@NotNull @NotNull ChunkSource.FillContext context, @NotNull @NotNull WritableChunk<? super Values> destination, @NotNull @NotNull RowSequence rowSequence) Description copied from interface:ChunkSourcePopulates the given destination chunk with data corresponding to the keys from the givenRowSequence.- Specified by:
fillChunkin interfaceChunkSource<Values>- Overrides:
fillChunkin classAbstractColumnSource<RowSet>- Parameters:
context- A context containing all mutable/state related data used in retrieving the Chunk.destination- The chunk to be populated according torowSequence. 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- AnRowSequencerepresenting the keys to be fetched
-
getPrevChunk
public Chunk<? extends Values> getPrevChunk(@NotNull ChunkSource.GetContext context, @NotNull @NotNull RowSequence rowSequence) Description copied from interface:ChunkSource.WithPrevReturns a chunk of previous data corresponding to the keys from the givenRowSequence.- Specified by:
getPrevChunkin interfaceChunkSource.WithPrev<Values>- Specified by:
getPrevChunkin interfaceDefaultChunkSource.WithPrev<Values>- 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 poolrowSequence- AnRowSequencerepresenting the keys to be fetched- Returns:
- A chunk of data corresponding to the keys from the given
RowSequence
-
getPrevChunk
public Chunk<? extends Values> getPrevChunk(@NotNull ChunkSource.GetContext context, long firstKey, long lastKey) Description copied from interface:ChunkSource.WithPrevSame asChunkSource.WithPrev.getPrevChunk(GetContext, RowSequence), except that you pass in the begin and last keys representing the begin and last (inclusive) keys of a single range rather than anRowSequence.- Specified by:
getPrevChunkin interfaceChunkSource.WithPrev<Values>- Specified by:
getPrevChunkin interfaceDefaultChunkSource.WithPrev<Values>
-
fillPrevChunk
public void fillPrevChunk(@NotNull @NotNull ChunkSource.FillContext context, @NotNull @NotNull WritableChunk<? super Values> destination, @NotNull @NotNull RowSequence rowSequence) Description copied from interface:ChunkSource.WithPrevPopulates the given destination chunk with data corresponding to the keys from the givenRowSequence.- Specified by:
fillPrevChunkin interfaceChunkSource.WithPrev<Values>- Overrides:
fillPrevChunkin classAbstractColumnSource<RowSet>- Parameters:
context- A context containing all mutable/state related data used in retrieving the Chunk.destination- The chunk to be populated according torowSequence. 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- AnRowSequencerepresenting the keys to be fetched
-