Class ColumnRegionObjectWithDictionary<T,ATTR extends Attributes.Values>
java.lang.Object
com.illumon.iris.db.v2.sources.regioned.DeephavenColumnRegionObjectBase<T,ATTR>
com.illumon.iris.db.v2.sources.regioned.ColumnRegionObjectWithDictionary<T,ATTR>
- Type Parameters:
T-ATTR-
- All Implemented Interfaces:
ChunkSource<ATTR>,DefaultChunkSource<ATTR>,FillContextMaker,GetContextMaker,Page<ATTR>,Page.WithDefaults<ATTR>,PagingChunkSource<ATTR>,ColumnRegion<ATTR>,ColumnRegionObject<T,,ATTR> Releasable
public class ColumnRegionObjectWithDictionary<T,ATTR extends Attributes.Values>
extends DeephavenColumnRegionObjectBase<T,ATTR>
A Column region for objects that is backed by a dictionary of values. Note that the dictionary keys are
in the flat address space within the region
[0,regionSize), not of the region itself.-
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> 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 class com.illumon.iris.db.v2.sources.regioned.DeephavenColumnRegionObjectBase
location, nativeTypeFields inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
DEFAULT_FILL_INSTANCE, ZERO_LENGTH_CHUNK_SOURCE_ARRAYFields inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
REGION_MASK -
Constructor Summary
ConstructorsConstructorDescriptionColumnRegionObjectWithDictionary(ColumnRegionObject<T, ATTR> valuesRegion, ColumnRegionInt<Attributes.DictionaryKeys> dictionaryKeysRegion, int expectedObjectWidth, DeephavenFormatColumnLocation location) -
Method Summary
Modifier and TypeMethodDescriptionchunkMatch(long regionFirstKey, OrderedKeys keysToFilter, boolean caseInsensitive, boolean invertMatch, Object[] keys) voidfillChunkAppend(ChunkSource.FillContext context, WritableChunk<? super ATTR> destination, OrderedKeys orderedKeys) Appends the values referenced byorderKeysontodestination.Get a view of this region as int dictionary keys.Get a view of this region as dictionary values.getObject(long elementIndex) Get a single object from this region.getObject(ChunkSource.FillContext context, long elementIndex) Get a single object from this region.longlength()makeFillContext(int chunkCapacity, SharedContext sharedContext) Allocate a newChunkSource.FillContextfor filling chunks from thisFillContextMaker, typically aChunkSource.voidRelease any resources held for caching purposes.supportsDictionaryFormat(ReadOnlyIndex.SearchIterator keysToVisit) Check if this region can expose an alternate form as paired regions oflongkeys andDATA_TYPEvalues covering all of its row keys inkeysToVisit.Methods inherited from class com.illumon.iris.db.v2.sources.regioned.DeephavenColumnRegionObjectBase
binSearchMatch, couldInclude, getLocation, getNativeTypeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
getChunkTypeMethods inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
firstRowOffset, mask, specialMatch, supportsSpecialMatchingMethods inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegionObject
gatherDictionaryValuesRowSet, getDictionaryKeysRegion, skipCacheMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.DefaultChunkSource
getChunk, getChunk, getChunkByFilling, makeGetContextMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.FillContextMaker
makeFillContextMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.GetContextMaker
makeGetContextMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page
advanceToNextPage, advanceToNextPage, advanceToNextPageAndGetPositionDistance, firstRow, getRowOffset, lastRowMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page.WithDefaults
fillChunk, fillChunkAppendMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.PagingChunkSource
maxRow
-
Constructor Details
-
ColumnRegionObjectWithDictionary
public ColumnRegionObjectWithDictionary(@NotNull ColumnRegionObject<T, ATTR> valuesRegion, @NotNull ColumnRegionInt<Attributes.DictionaryKeys> dictionaryKeysRegion, int expectedObjectWidth, @NotNull DeephavenFormatColumnLocation location)
-
-
Method Details
-
getObject
Description copied from interface:ColumnRegionObjectGet a single object from this region.- 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:ColumnRegionObjectGet a single object from this region.- Parameters:
context- AColumnRegionFillContextto 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 context, @NotNull WritableChunk<? super ATTR> destination, @NotNull OrderedKeys orderedKeys) Description copied from interface:Page.WithDefaultsAppends the values referenced byorderKeysontodestination.orderKeysare assumed to be entirely contained on thisPage. -
length
public long length()- Returns:
- the length of this page.
-
releaseCachedResources
public void releaseCachedResources()Description copied from interface:ReleasableRelease any resources held for caching purposes. Implementations need not guarantee that they are safe for normal use concurrently with invocations of this method. -
getDictionaryRegionType
-
getDictionaryKeysRegionInt
Description copied from interface:ColumnRegionObjectGet a view of this region as int dictionary keys.- Returns:
- A dictionary keys region as specified by
ColumnRegionObject.supportsDictionaryFormat(Index.SearchIterator)
-
supportsDictionaryFormat
public RegionVisitResult supportsDictionaryFormat(@NotNull ReadOnlyIndex.SearchIterator keysToVisit) Description copied from interface:ColumnRegionObjectCheck if this region can expose an alternate form as paired regions oflongkeys andDATA_TYPEvalues covering all of its row keys inkeysToVisit.Both alternate regions must use the same or smaller row key space as this one. Indices fetched from the keys region must represent valid element indices in the values region. Values regions must support
ColumnRegionObject.gatherDictionaryValuesRowSet(Index.SearchIterator, Index.Iterator, Index.SequentialBuilder).Use
ColumnRegionObject.getDictionaryKeysRegion()to access the region of keys andColumnRegionObject.getDictionaryValuesRegion()to access the region of values.- Parameters:
keysToVisit- Iterator positioned at the first relevant row key belonging to this region. Will be advanced to after this region iftrueis returned. No guarantee is made iffalseis returned.- Returns:
- A
RegionVisitResultspecifyingFAILEDif this region cannot supply a dictionary,CONTINUEif it can andkeysToVisitis not exhausted, andCOMPLETEif it can andkeysToVisitis exhausted
-
getDictionaryValuesRegion
Description copied from interface:ColumnRegionObjectGet a view of this region as dictionary values.- Returns:
- A dictionary values region as specified by
ColumnRegionObject.supportsDictionaryFormat(Index.SearchIterator)
-
chunkMatch
public Index chunkMatch(long regionFirstKey, @NotNull OrderedKeys keysToFilter, boolean caseInsensitive, boolean invertMatch, @NotNull Object[] keys) - Specified by:
chunkMatchin interfaceColumnRegion<T>- Overrides:
chunkMatchin classDeephavenColumnRegionObjectBase<T,ATTR extends Attributes.Values>
-