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.
  • 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 interface ColumnRegion<ATTR extends Any>
      Overrides:
      invalidate in class GenericColumnRegionBase<ATTR extends Any>
    • getResultRegion

      public final REGION_TYPE 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 interface Releasable
    • getChunkType

      public ChunkType getChunkType()
      Description copied from interface: ChunkSource
      Get the most suitable ChunkType for use with this ChunkSource.
      Specified by:
      getChunkType in interface ChunkSource<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 given RowSequence.
      Specified by:
      fillChunk in interface ChunkSource<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 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
    • 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 to destination, rather than placed at the beginning.

      The values to fill into destination are specified by rowSequenceIterator, whose RowSequence.firstRowKey() must exist, and must be represented by this PagingChunkSource (modulo PagingChunkSource.mask()), otherwise results are undefined.

      All values specified by rowSequenceIterator that are on the same page as its next row key will be appended to destination. Row keys are on the same page when the bits outside of PagingChunkSource.mask() are identical.

      Specified by:
      fillChunkAppend in interface PagingChunkSource<ATTR extends Any>
      Parameters:
      context - A context containing all mutable/state related data used in filling destination
      destination - The WritableChunk to append the results to
      rowSequenceIterator - An iterator over the remaining row keys specifying the values to retrieve, which contains at least the keys to extract from this PagingChunkSource
    • 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 given RowSequence.
      Specified by:
      getChunk in interface ChunkSource<ATTR extends Any>
      Specified by:
      getChunk in interface DefaultChunkSource<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 pool
      rowSequence - An RowSequence 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 as ChunkSource.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 an RowSequence. Typically you want to call this only if you don't have an RowSequence, such as during an RowSequence.forAllRowKeyRanges(LongRangeConsumer) call. In this case, it allows you to avoid creating an intermediary RowSequence object.
      Specified by:
      getChunk in interface ChunkSource<ATTR extends Any>
      Specified by:
      getChunk in interface DefaultChunkSource<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 pool
      firstKey - The beginning key (inclusive) of the range to fetch in the chunk
      lastKey - The last key (inclusive) of the range to fetch in the chunk