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_ARRAYFields inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
REGION_MASK -
Constructor Summary
ConstructorsConstructorDescriptionColumnRegionReferencingImpl(Class<?> nativeType, REFERENCED_COLUMN_REGION referencedColumnRegion, ColumnRegionReferencing.Converter<ATTR> converter) -
Method Summary
Modifier and TypeMethodDescriptionbinSearchMatch(long firstKey, long lastKey, SortPair sortPair, Object[] keys) Given that this column is sorted, match the input keys using a binary search.chunkMatch(long regionFirstKey, 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.Class<?>longlength()makeFillContext(int chunkCapacity, SharedContext sharedContext) Allocate a newChunkSource.FillContextfor filling chunks from thisFillContextMaker, typically aChunkSource.voidRelease 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.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.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
-
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>
-
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(long regionFirstKey, @NotNull OrderedKeys keysToFilter, boolean caseInsensitive, boolean invertMatch, @NotNull Object[] keys) - Specified by:
chunkMatchin interfaceColumnRegion<ATTR extends Attributes.Values>
-