Class ColumnRegionObjectCodecFixed<T,ATTR extends Attributes.Any>
java.lang.Object
com.illumon.iris.db.v2.sources.regioned.ColumnRegionObjectCodecFixed<T,ATTR>
- Type Parameters:
T
- The realized type of the encoded objects within this regionATTR
- The Chunk attribute for this region
- All Implemented Interfaces:
ChunkSource<ATTR>
,DefaultChunkSource<ATTR>
,FillContextMaker
,GetContextMaker
,Page<ATTR>
,Page.WithDefaults<ATTR>
,PagingChunkSource<ATTR>
,ColumnRegion<ATTR>
,ColumnRegionObject<T,ATTR>
,Releasable
public final class ColumnRegionObjectCodecFixed<T,ATTR extends Attributes.Any> extends Object implements ColumnRegionObject<T,ATTR>, Page.WithDefaults<ATTR>
A
ColumnRegion
for non-primitive types that have a fixed size. The objects are stored in raw encoded binary
format within a single data file.-
Nested Class Summary
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
ChunkSource.FillContext, ChunkSource.GetContext, ChunkSource.WithPrev<ATTR extends Attributes.Any>
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegionObject
ColumnRegionObject.DictionaryKeysWrapper, ColumnRegionObject.IntDictionaryKeysWrapper, ColumnRegionObject.Null<T,ATTR extends Attributes.Any>, ColumnRegionObject.StaticPageStore<DATA_TYPE,ATTR extends Attributes.Any>
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.chunk.DefaultChunkSource
DefaultChunkSource.SupportsContiguousGet<ATTR extends Attributes.Any>, DefaultChunkSource.WithPrev<ATTR extends Attributes.Any>
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page
Page.WithDefaults<ATTR extends Attributes.Any>, Page.WithDefaultsForRepeatingValues<ATTR extends Attributes.Any>
-
Field Summary
Fields inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
DEFAULT_FILL_INSTANCE, ZERO_LENGTH_CHUNK_SOURCE_ARRAY
-
Constructor Summary
Constructors Constructor Description ColumnRegionObjectCodecFixed(Class<T> nativeType, ObjectDecoder<T> decoder, ColumnRegionByte<Attributes.EncodedObjects> binaryBytes)
-
Method Summary
Modifier and Type Method Description void
fillChunkAppend(ChunkSource.FillContext fillContext, WritableChunk<? super ATTR> destination, OrderedKeys orderedKeys)
Appends the values referenced byorderKeys
ontodestination
.Class<T>
getNativeType()
T
getObject(long elementIndex)
Get a single object from this region.T
getObject(ChunkSource.FillContext context, long elementIndex)
Get a single object from this region.long
length()
void
releaseCachedResources()
Release any resources held for caching purposes.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
firstRowOffset, mask
Methods inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegionObject
gatherDictionaryValuesRowSet, getDictionaryKeysRegion, getDictionaryKeysRegionInt, getDictionaryRegionType, getDictionaryValuesRegion, skipCache, supportsDictionaryFormat
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.DefaultChunkSource
getChunk, getChunk, getChunkByFilling, makeFillContext, makeGetContext
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.FillContextMaker
makeFillContext
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.GetContextMaker
makeGetContext
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page
advanceToNextPage, advanceToNextPage, advanceToNextPageAndGetPositionDistance, firstRow, getRowOffset, lastRow
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page.WithDefaults
fillChunk, fillChunkAppend
-
Constructor Details
-
ColumnRegionObjectCodecFixed
public ColumnRegionObjectCodecFixed(@NotNull Class<T> nativeType, @NotNull ObjectDecoder<T> decoder, @NotNull ColumnRegionByte<Attributes.EncodedObjects> binaryBytes)
-
-
Method Details
-
getObject
Description copied from interface:ColumnRegionObject
Get a single object from this region.- Specified by:
getObject
in interfaceColumnRegionObject<T,ATTR extends Attributes.Any>
- Parameters:
elementIndex
- Element (object) index in the table's address space- Returns:
- The object value at the specified element (object) index
-
getObject
Description copied from interface:ColumnRegionObject
Get a single object from this region.- Specified by:
getObject
in interfaceColumnRegionObject<T,ATTR extends Attributes.Any>
- Parameters:
context
- AColumnRegionFillContext
to enable resource caching where suitable, with current region index pointing to this regionelementIndex
- Element (object) index in the table's address space- Returns:
- The object value at the specified element (object) index
-
fillChunkAppend
public void fillChunkAppend(@NotNull ChunkSource.FillContext fillContext, @NotNull WritableChunk<? super ATTR> destination, @NotNull OrderedKeys orderedKeys)Description copied from interface:Page.WithDefaults
Appends the values referenced byorderKeys
ontodestination
.orderKeys
are assumed to be entirely contained on thisPage
.- Specified by:
fillChunkAppend
in interfacePage.WithDefaults<T>
-
getNativeType
- Specified by:
getNativeType
in interfaceChunkSource<T>
- Specified by:
getNativeType
in interfaceColumnRegionObject<T,ATTR extends Attributes.Any>
-
length
public long length() -
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
-