Class ColumnRegionObjectCodecVariable<T,ATTR extends Values>
java.lang.Object
io.deephaven.enterprise.sources.regioned.impl.InvalidatableRegion<ATTR>
io.deephaven.enterprise.sources.regioned.impl.ColumnRegionObjectCodecVariable<T,ATTR>
- Type Parameters:
T
- The realized type of the encoded objects within this regionATTR
- The Chunk attribute for this region
- All Implemented Interfaces:
Page<ATTR>
,Page.WithDefaults<ATTR>
,PagingChunkSource<ATTR>
,ChunkSource<ATTR>
,FillContextMaker
,GetContextMaker
,DefaultChunkSource<ATTR>
,ColumnRegion<ATTR>
,ColumnRegionObject<T,
,ATTR> Releasable
public final class ColumnRegionObjectCodecVariable<T,ATTR extends Values>
extends InvalidatableRegion<ATTR>
implements ColumnRegionObject<T,ATTR>, Page.WithDefaults<ATTR>
A
ColumnRegion
for non-primitive types that have a variable size. Objects are stored within two underlying
files.
The Offset file contains the byte offsets within the binary file for each index within the region. When reading from the binary file, we use offset at the previous index as the starting offset for the object and the offset at the current index as the ending offset within the binary file for the object.
The binary file contains the raw bytes of each object as encoded by the ObjectDecoder
, which is typically
defined as the codec at the schema level for a table.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.engine.table.ChunkSource
ChunkSource.FillContext, ChunkSource.GetContext, ChunkSource.WithPrev<ATTR extends Any>
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.sources.regioned.ColumnRegionObject
ColumnRegionObject.Constant<DATA_TYPE extends Object,
ATTR extends Any>, ColumnRegionObject.DictionaryKeysWrapper, ColumnRegionObject.Null<DATA_TYPE extends Object, ATTR extends Any>, ColumnRegionObject.SelfDictionaryRegion<DATA_TYPE extends Object, ATTR extends Any>, ColumnRegionObject.StaticPageStore<DATA_TYPE extends Object, 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
-
Constructor Summary
ConstructorsConstructorDescriptionColumnRegionObjectCodecVariable
(@NotNull ObjectDecoder<T> decoder, @NotNull ColumnRegionLongWithLength<Indices> offsetData, @NotNull ColumnRegionByte<EncodedObjects> binaryData) -
Method Summary
Modifier and TypeMethodDescriptionvoid
fillChunkAppend
(ChunkSource.FillContext fillContext, @NotNull WritableChunk<? super ATTR> destination, @NotNull RowSequence orderedKeys) boolean
gatherDictionaryValuesRowSet
(RowSet.SearchIterator keysToVisit, RowSequence.Iterator knownKeys, @NotNull RowSetBuilderSequential sequentialBuilder) getObject
(long elementIndex) getObject
(ChunkSource.FillContext context, long elementIndex) makeFillContext
(int chunkCapacity, SharedContext sharedContext) long
mask()
void
Methods inherited from class io.deephaven.enterprise.sources.regioned.impl.InvalidatableRegion
invalidate, 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, invalidate
Methods inherited from interface io.deephaven.engine.table.impl.sources.regioned.ColumnRegionObject
getChunkType, getDictionaryKeysRegion, getDictionaryValuesRegion, supportsDictionaryFormat
Methods inherited from interface io.deephaven.engine.table.impl.DefaultChunkSource
getChunk, getChunk, 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.Page.WithDefaults
fillChunk, fillChunkAppend
Methods inherited from interface io.deephaven.engine.page.PagingChunkSource
maxRow
-
Constructor Details
-
ColumnRegionObjectCodecVariable
public ColumnRegionObjectCodecVariable(@NotNull @NotNull ObjectDecoder<T> decoder, @NotNull @NotNull ColumnRegionLongWithLength<Indices> offsetData, @NotNull @NotNull ColumnRegionByte<EncodedObjects> binaryData)
-
-
Method Details
-
getObject
- Specified by:
getObject
in interfaceColumnRegionObject<T,
ATTR extends Values>
-
getObject
- Specified by:
getObject
in interfaceColumnRegionObject<T,
ATTR extends Values>
-
fillChunkAppend
public void fillChunkAppend(@NotNull ChunkSource.FillContext fillContext, @NotNull @NotNull WritableChunk<? super ATTR> destination, @NotNull @NotNull RowSequence orderedKeys) - Specified by:
fillChunkAppend
in interfacePage.WithDefaults<T>
-
releaseCachedResources
@OverridingMethodsMustInvokeSuper public void releaseCachedResources()- Specified by:
releaseCachedResources
in interfaceReleasable
-
mask
public long mask()- Specified by:
mask
in interfacePagingChunkSource<T>
-
gatherDictionaryValuesRowSet
public boolean gatherDictionaryValuesRowSet(@NotNull RowSet.SearchIterator keysToVisit, @NotNull RowSequence.Iterator knownKeys, @NotNull @NotNull RowSetBuilderSequential sequentialBuilder) - Specified by:
gatherDictionaryValuesRowSet
in interfaceColumnRegionObject<T,
ATTR extends Values>
-