Class ColumnRegionChunkDictionary<DICT_TYPE,DATA_TYPE,ATTR extends Any>
java.lang.Object
io.deephaven.engine.table.impl.sources.regioned.GenericColumnRegionBase<ATTR>
io.deephaven.engine.table.impl.sources.regioned.ColumnRegionChunkDictionary<DICT_TYPE,DATA_TYPE,ATTR>
- All Implemented Interfaces:
Page<ATTR>,Page.WithDefaults<ATTR>,PagingChunkSource<ATTR>,ChunkSource<ATTR>,FillContextMaker,GetContextMaker,DefaultChunkSource<ATTR>,DefaultChunkSource.SupportsContiguousGet<ATTR>,ColumnRegion<ATTR>,ColumnRegionObject<DATA_TYPE,,ATTR> Releasable
public class ColumnRegionChunkDictionary<DICT_TYPE,DATA_TYPE,ATTR extends Any>
extends GenericColumnRegionBase<ATTR>
implements ColumnRegionObject<DATA_TYPE,ATTR>, Page.WithDefaults<ATTR>, DefaultChunkSource.SupportsContiguousGet<ATTR>
ColumnRegionObject implementation for regions that support fetching symbols from a dictionary represented as
an ObjectChunk.-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.engine.table.ChunkSource
ChunkSource.FillContext, ChunkSource.GetContextNested 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.sources.regioned.ColumnRegionObject
ColumnRegionObject.Constant<DATA_TYPE,ATTR extends Any>, ColumnRegionObject.DictionaryKeysWrapper, ColumnRegionObject.Null<DATA_TYPE, ATTR extends Any>, ColumnRegionObject.SelfDictionaryRegion<DATA_TYPE, ATTR extends Any>, ColumnRegionObject.StaticPageStore<DATA_TYPE, 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 TypeMethodDescriptionstatic <DATA_TYPE,ATTR extends Any>
ColumnRegionObject<DATA_TYPE,ATTR> create(long pageMask, @NotNull Class<DATA_TYPE> dataType, @NotNull Supplier<Chunk<ATTR>> dictionaryChunkSupplier) voidfillChunkAppend(@NotNull ChunkSource.FillContext context, @NotNull WritableChunk<? super ATTR> destination, @NotNull RowSequence rowSequence) Appends the values referenced byorderKeysontodestination.booleangatherDictionaryValuesRowSet(RowSet.SearchIterator keysToVisit, RowSequence.Iterator knownKeys, @NotNull RowSetBuilderSequential sequentialBuilder) Optional method that should only be used on regions returned byColumnRegionObject.getDictionaryValuesRegion().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.getObject(long elementIndex) Get a single object from this region.Methods inherited from class io.deephaven.engine.table.impl.sources.regioned.GenericColumnRegionBase
invalidate, mask, throwIfInvalidatedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.deephaven.engine.table.impl.sources.regioned.ColumnRegion
firstRowOffset, invalidateMethods inherited from interface io.deephaven.engine.table.impl.sources.regioned.ColumnRegionObject
getChunkType, getDictionaryKeysRegion, getDictionaryValuesRegion, getObject, supportsDictionaryFormatMethods inherited from interface io.deephaven.engine.table.impl.DefaultChunkSource
getChunkByFilling, makeGetContextMethods inherited from interface io.deephaven.engine.table.impl.DefaultChunkSource.SupportsContiguousGet
getChunkMethods inherited from interface io.deephaven.engine.table.FillContextMaker
makeFillContextMethods inherited from interface io.deephaven.engine.table.GetContextMaker
makeGetContextMethods inherited from interface io.deephaven.engine.page.Page
advanceToNextPage, advanceToNextPage, advanceToNextPageAndGetPositionDistance, firstRow, getRowOffsetMethods inherited from interface io.deephaven.engine.page.Page.WithDefaults
fillChunk, fillChunkAppendMethods inherited from interface io.deephaven.engine.page.PagingChunkSource
makeFillContext, mask, maxRowMethods inherited from interface io.deephaven.engine.table.Releasable
releaseCachedResources
-
Method Details
-
create
public static <DATA_TYPE,ATTR extends Any> ColumnRegionObject<DATA_TYPE,ATTR> create(long pageMask, @NotNull @NotNull Class<DATA_TYPE> dataType, @NotNull @NotNull Supplier<Chunk<ATTR>> dictionaryChunkSupplier) -
getObject
Description copied from interface:ColumnRegionObjectGet a single object from this region.- Specified by:
getObjectin interfaceColumnRegionObject<DICT_TYPE,DATA_TYPE> - Parameters:
elementIndex- Element row key in the table's address space- Returns:
- The object value at the specified element row key
-
getChunk
public Chunk<? extends ATTR> getChunk(@NotNull @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<DICT_TYPE>- Specified by:
getChunkin interfaceDefaultChunkSource<DICT_TYPE>- Specified by:
getChunkin interfaceDefaultChunkSource.SupportsContiguousGet<DICT_TYPE>- 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
-
fillChunkAppend
public void fillChunkAppend(@NotNull @NotNull ChunkSource.FillContext context, @NotNull @NotNull WritableChunk<? super ATTR> destination, @NotNull @NotNull RowSequence rowSequence) Description copied from interface:Page.WithDefaultsAppends the values referenced byorderKeysontodestination.orderKeysare assumed to be entirely contained on thisPage.- Specified by:
fillChunkAppendin interfacePage.WithDefaults<DICT_TYPE>
-
gatherDictionaryValuesRowSet
public boolean gatherDictionaryValuesRowSet(@NotNull RowSet.SearchIterator keysToVisit, @NotNull RowSequence.Iterator knownKeys, @NotNull @NotNull RowSetBuilderSequential sequentialBuilder) Description copied from interface:ColumnRegionObjectOptional method that should only be used on regions returned byColumnRegionObject.getDictionaryValuesRegion(). Gathers row keys representing the dictionary values for this region, excluding those already known to the caller. This is used to supportsymbol tableaccess.- Specified by:
gatherDictionaryValuesRowSetin interfaceColumnRegionObject<DICT_TYPE,DATA_TYPE> - Parameters:
keysToVisit- A search iterator over the enclosing table address space (which must have the same regions at the same masks), positioned at a row key in this region. Used to identify regions to visit. Should be advanced to after this region as a side-effect.knownKeys- An iterator over the previously-known row keys, positioned at the first known key in this region, or after the region's maximum key if no keys are known. Should be advanced to after this region as a side effect.sequentialBuilder- Output builder; implementations should append ranges for row keys not found inknownKeys- Returns:
- Whether
keysToVisithas been exhausted
-