Class ColumnRegionReferencingImpl<ATTR extends Attributes.Values,REFERENCED_COLUMN_REGION extends ColumnRegion<ATTR>>
java.lang.Object
com.illumon.iris.db.v2.sources.regioned.ColumnRegionReferencingImpl<ATTR,REFERENCED_COLUMN_REGION>
- All Implemented Interfaces:
ChunkSource<ATTR>,DefaultChunkSource<ATTR>,FillContextMaker,GetContextMaker,Page<ATTR>,Page.WithDefaults<ATTR>,PagingChunkSource<ATTR>,ColumnRegion<ATTR>,ColumnRegionReferencing<ATTR,REFERENCED_COLUMN_REGION>,Releasable
public class ColumnRegionReferencingImpl<ATTR extends Attributes.Values,REFERENCED_COLUMN_REGION extends ColumnRegion<ATTR>> extends Object implements ColumnRegionReferencing<ATTR,REFERENCED_COLUMN_REGION>, Page.WithDefaults<ATTR>
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
ChunkSource.GetContext, ChunkSource.WithPrev<ATTR extends Attributes.Any>Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegionReferencing
ColumnRegionReferencing.Converter<ATTR extends Attributes.Any>, ColumnRegionReferencing.Null<ATTR extends Attributes.Any,REFERENCED_COLUMN_REGION extends ColumnRegion<ATTR>>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 ColumnRegionReferencingImpl(Class<?> nativeType, REFERENCED_COLUMN_REGION referencedColumnRegion, ColumnRegionReferencing.Converter<ATTR> converter) -
Method Summary
Modifier and Type Method Description IndexbinSearchMatch(long firstKey, long lastKey, SortPair sortPair, Object[] keys)Given that this column is sorted, match the input keys using a binary search.IndexchunkMatch(OrderedKeys keysToFilter, boolean caseInsensitive, boolean invertMatch, Object[] keys)booleancouldInclude(Object[] keys)Check if the region could possibly include any of the keys we're searching forvoidfillChunkAppend(ChunkSource.FillContext context, WritableChunk<? super ATTR> destination, OrderedKeys orderedKeys)Appends the values referenced byorderKeysontodestination.ColumnLocationgetLocation()Class<?>getNativeType()REFERENCED_COLUMN_REGIONgetReferencedRegion()longlength()ChunkSource.FillContextmakeFillContext(int chunkCapacity, SharedContext sharedContext)Allocate a newChunkSource.FillContextfor filling chunks from thisFillContextMaker, typically aChunkSource.voidreleaseCachedResources()Release any resources held for caching purposes.Methods 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.regioned.ColumnRegion
firstRowOffset, mask, specialMatch, supportsSpecialMatchingMethods 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, fillChunkAppend
-
Constructor Details
-
ColumnRegionReferencingImpl
public ColumnRegionReferencingImpl(@NotNull Class<?> nativeType, @NotNull REFERENCED_COLUMN_REGION referencedColumnRegion, @NotNull ColumnRegionReferencing.Converter<ATTR> converter)
-
-
Method Details
-
getReferencedRegion
- Specified by:
getReferencedRegionin interfaceColumnRegionReferencing<ATTR extends Attributes.Values,REFERENCED_COLUMN_REGION extends ColumnRegion<ATTR>>
-
getNativeType
- Specified by:
getNativeTypein interfaceChunkSource<ATTR extends Attributes.Values>
-
length
public long length()- Specified by:
lengthin interfacePage<ATTR extends Attributes.Values>- Returns:
- the length of this page.
-
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.- Specified by:
fillChunkAppendin interfacePage.WithDefaults<ATTR extends Attributes.Values>
-
makeFillContext
public ChunkSource.FillContext makeFillContext(int chunkCapacity, @Nullable SharedContext sharedContext)Description copied from interface:FillContextMakerAllocate a newChunkSource.FillContextfor filling chunks from thisFillContextMaker, typically aChunkSource.- Specified by:
makeFillContextin interfaceDefaultChunkSource<ATTR extends Attributes.Values>- Specified by:
makeFillContextin interfaceFillContextMaker- Parameters:
chunkCapacity- The maximum size of anyWritableChunkthat will be filled with this contextsharedContext- Shared store of intermediate results.- Returns:
- A context for use with fill operations
-
releaseCachedResources
@OverridingMethodsMustInvokeSuper 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.- Specified by:
releaseCachedResourcesin interfaceReleasable
-
getLocation
- Specified by:
getLocationin interfaceColumnRegion<ATTR extends Attributes.Values>
-
binSearchMatch
public Index binSearchMatch(long firstKey, long lastKey, @NotNull SortPair sortPair, @NotNull Object[] keys)Description copied from interface:ColumnRegionGiven that this column is sorted, match the input keys using a binary search.- Specified by:
binSearchMatchin interfaceColumnRegion<ATTR extends Attributes.Values>- Parameters:
firstKey- The first key to searchlastKey- The last key to searchsortPair- the sorting definitionkeys- the keys to search for, in no particular order
-
couldInclude
Description copied from interface:ColumnRegionCheck if the region could possibly include any of the keys we're searching for- Specified by:
couldIncludein interfaceColumnRegion<ATTR extends Attributes.Values>- Parameters:
keys- the keys to search for- Returns:
- true if the region possibly contains the values
-
chunkMatch
public Index chunkMatch(@NotNull OrderedKeys keysToFilter, boolean caseInsensitive, boolean invertMatch, @NotNull Object[] keys)- Specified by:
chunkMatchin interfaceColumnRegion<ATTR extends Attributes.Values>
-