Class DeferredColumnRegionBase<ATTR extends Any,REGION_TYPE extends ColumnRegion<ATTR>>
java.lang.Object
io.deephaven.engine.table.impl.sources.regioned.GenericColumnRegionBase<ATTR>
io.deephaven.engine.table.impl.sources.regioned.DeferredColumnRegionBase<ATTR,REGION_TYPE>
- All Implemented Interfaces:
Page<ATTR>
,PagingChunkSource<ATTR>
,ChunkSource<ATTR>
,FillContextMaker
,GetContextMaker
,DefaultChunkSource<ATTR>
,ColumnRegion<ATTR>
,Releasable
- Direct Known Subclasses:
DeferredColumnRegionChar
,DeferredColumnRegionDouble
,DeferredColumnRegionFloat
,DeferredColumnRegionInt
,DeferredColumnRegionLong
,DeferredColumnRegionObject
,DeferredColumnRegionReferencing
,DeferredColumnRegionShort
public abstract class DeferredColumnRegionBase<ATTR extends Any,REGION_TYPE extends ColumnRegion<ATTR>>
extends GenericColumnRegionBase<ATTR>
Base deferred region implementation.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.engine.table.ChunkSource
ChunkSource.FillContext, ChunkSource.GetContext
Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.sources.regioned.ColumnRegion
ColumnRegion.Null<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.page.Page
Page.WithDefaults<ATTR extends Any>, Page.WithDefaultsForRepeatingValues<ATTR extends Any>
-
Field Summary
Fields inherited from interface io.deephaven.engine.table.ChunkSource
DEFAULT_FILL_INSTANCE, ZERO_LENGTH_CHUNK_SOURCE_ARRAY
-
Method Summary
Modifier and TypeMethodDescriptionvoid
fillChunk
(@NotNull ChunkSource.FillContext context, @NotNull WritableChunk<? super ATTR> destination, @NotNull RowSequence rowSequence) Populates the given destination chunk with data corresponding to the keys from the givenRowSequence
.void
fillChunkAppend
(@NotNull ChunkSource.FillContext context, @NotNull WritableChunk<? super ATTR> destination, RowSequence.Iterator rowSequenceIterator) Similar toChunkSource.fillChunk(FillContext, WritableChunk, RowSequence)
, except that the values are appended todestination
, rather than placed at the beginning.getChunk
(@NotNull 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
(@NotNull ChunkSource.GetContext context, @NotNull RowSequence rowSequence) Returns a chunk of data corresponding to the keys from the givenRowSequence
.Get the most suitableChunkType
for use with this ChunkSource.final REGION_TYPE
void
Invalidate the region -- any further reads that cannot be completed consistently and correctly will fail.void
Release any resources held for caching purposes.Methods inherited from class io.deephaven.engine.table.impl.sources.regioned.GenericColumnRegionBase
mask, throwIfInvalidated
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.deephaven.engine.table.impl.sources.regioned.ColumnRegion
firstRowOffset
Methods inherited from interface io.deephaven.engine.table.impl.DefaultChunkSource
getChunkByFilling, makeGetContext
Methods inherited from interface io.deephaven.engine.table.FillContextMaker
makeFillContext
Methods inherited from interface io.deephaven.engine.table.GetContextMaker
makeGetContext
Methods inherited from interface io.deephaven.engine.page.Page
advanceToNextPage, advanceToNextPage, advanceToNextPageAndGetPositionDistance, firstRow, getRowOffset
Methods inherited from interface io.deephaven.engine.page.PagingChunkSource
makeFillContext, mask, maxRow
-
Method Details
-
invalidate
public void invalidate()Description copied from interface:ColumnRegion
Invalidate the region -- any further reads that cannot be completed consistently and correctly will fail.- Specified by:
invalidate
in interfaceColumnRegion<ATTR extends Any>
- Overrides:
invalidate
in classGenericColumnRegionBase<ATTR extends Any>
-
getResultRegion
-
releaseCachedResources
@OverridingMethodsMustInvokeSuper public void releaseCachedResources()Description copied from interface:Releasable
Release any resources held for caching purposes. Implementations need not guarantee that they are safe for normal use concurrently with invocations of this method.- Specified by:
releaseCachedResources
in interfaceReleasable
-
getChunkType
Description copied from interface:ChunkSource
Get the most suitableChunkType
for use with this ChunkSource.- Specified by:
getChunkType
in interfaceChunkSource<ATTR extends Any>
- Returns:
- The ChunkType
-
fillChunk
public void fillChunk(@NotNull @NotNull ChunkSource.FillContext context, @NotNull @NotNull WritableChunk<? super ATTR> destination, @NotNull @NotNull RowSequence rowSequence) Description copied from interface:ChunkSource
Populates the given destination chunk with data corresponding to the keys from the givenRowSequence
.- Specified by:
fillChunk
in interfaceChunkSource<ATTR extends Any>
- 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
- AnRowSequence
representing the keys to be fetched
-
fillChunkAppend
public void fillChunkAppend(@NotNull @NotNull ChunkSource.FillContext context, @NotNull @NotNull WritableChunk<? super ATTR> destination, @NotNull RowSequence.Iterator rowSequenceIterator) Description copied from interface:PagingChunkSource
Similar to
ChunkSource.fillChunk(FillContext, WritableChunk, RowSequence)
, except that the values are appended todestination
, rather than placed at the beginning.The values to fill into
destination
are specified byrowSequenceIterator
, whoseRowSequence.firstRowKey()
must exist, and must be represented by thisPagingChunkSource
(moduloPagingChunkSource.mask()
), otherwise results are undefined.All values specified by
rowSequenceIterator
that are on the same page as its next row key will be appended todestination
. Row keys are on the same page when the bits outside ofPagingChunkSource.mask()
are identical.- Specified by:
fillChunkAppend
in interfacePagingChunkSource<ATTR extends Any>
- Parameters:
context
- A context containing all mutable/state related data used in fillingdestination
destination
- TheWritableChunk
to append the results torowSequenceIterator
- An iterator over the remaining row keys specifying the values to retrieve, which contains at least the keys to extract from thisPagingChunkSource
-
getChunk
public Chunk<? extends ATTR> 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 givenRowSequence
.- Specified by:
getChunk
in interfaceChunkSource<ATTR extends Any>
- Specified by:
getChunk
in interfaceDefaultChunkSource<ATTR extends Any>
- 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
- AnRowSequence
representing the keys to be fetched- Returns:
- A chunk of data corresponding to the keys from the given
RowSequence
-
getChunk
public Chunk<? extends ATTR> getChunk(@NotNull @NotNull ChunkSource.GetContext context, long firstKey, long lastKey) Description copied from interface:ChunkSource
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
. 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 intermediaryRowSequence
object.- Specified by:
getChunk
in interfaceChunkSource<ATTR extends Any>
- Specified by:
getChunk
in interfaceDefaultChunkSource<ATTR extends Any>
- 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
-