Class ColumnRegion.Null<ATTR extends Attributes.Any>
java.lang.Object
com.illumon.iris.db.v2.sources.regioned.ColumnRegion.Null<ATTR>
- Type Parameters:
ATTR-
- All Implemented Interfaces:
ChunkSource<ATTR>,DefaultChunkSource<ATTR>,FillContextMaker,GetContextMaker,Page<ATTR>,Page.WithDefaultsForRepeatingValues<ATTR>,PagingChunkSource<ATTR>,ColumnRegion<ATTR>,Releasable
- Direct Known Subclasses:
ColumnRegionByte.Null,ColumnRegionChar.Null,ColumnRegionDouble.Null,ColumnRegionFloat.Null,ColumnRegionInt.Null,ColumnRegionLong.Null,ColumnRegionObject.Null,ColumnRegionReferencing.Null,ColumnRegionShort.Null
- Enclosing interface:
- ColumnRegion<ATTR extends Attributes.Any>
public abstract static class ColumnRegion.Null<ATTR extends Attributes.Any>
extends Object
implements ColumnRegion<ATTR>, Page.WithDefaultsForRepeatingValues<ATTR>
The null region. Extensions of this class should return or fill chunks with the type appropriate null value.
-
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.ColumnRegion
ColumnRegion.Null<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_ARRAYFields inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
REGION_MASK -
Method Summary
Modifier and TypeMethodDescriptionfinal IndexbinSearchMatch(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) final booleancouldInclude(Object[] sortedKeys) Check if the region could possibly include any of the keys we're searching forprotected abstract IndexdoSpecialMatch(OrderedKeys keysToFilter, boolean invertMatch, Object[] keys) voidfillChunkAppend(ChunkSource.FillContext context, WritableChunk<? super ATTR> destination, int length) Appends the values repeating valuelengthtimes todestination.final ColumnLocationfinal IndexspecialMatch(OrderedKeys keysToFilter, long regionFirstKey, boolean caseInsensitive, boolean invertMatch, Object[] keys) IfColumnRegion.supportsSpecialMatching()istruethis method will perform matching in lieu of the standardRegionedColumnSourceBase.match(boolean, boolean, boolean, ReadOnlyIndex, Object...).final booleanCheck if this region has special matching features.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
getChunkType, getNativeTypeMethods inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
firstRowOffset, maskMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.DefaultChunkSource
getChunk, getChunk, getChunkByFilling, makeFillContext, 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, getRowOffsetMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page.WithDefaultsForRepeatingValues
fillChunk, fillChunkAppend, lastRow, lengthMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.PagingChunkSource
maxRowMethods inherited from interface com.illumon.iris.db.v2.sources.Releasable
releaseCachedResources
-
Method Details
-
fillChunkAppend
public void fillChunkAppend(@NotNull ChunkSource.FillContext context, @NotNull WritableChunk<? super ATTR> destination, int length) Description copied from interface:Page.WithDefaultsForRepeatingValuesAppends the values repeating valuelengthtimes todestination.- Specified by:
fillChunkAppendin interfacePage.WithDefaultsForRepeatingValues<ATTR extends Attributes.Any>
-
getLocation
- Specified by:
getLocationin interfaceColumnRegion<ATTR extends Attributes.Any>
-
supportsSpecialMatching
public final boolean supportsSpecialMatching()Description copied from interface:ColumnRegionCheck if this region has special matching features.- Specified by:
supportsSpecialMatchingin interfaceColumnRegion<ATTR extends Attributes.Any>- Returns:
- true if this has special matching features
-
specialMatch
public final Index specialMatch(@NotNull OrderedKeys keysToFilter, long regionFirstKey, boolean caseInsensitive, boolean invertMatch, @NotNull Object[] keys) Description copied from interface:ColumnRegionIfColumnRegion.supportsSpecialMatching()istruethis method will perform matching in lieu of the standardRegionedColumnSourceBase.match(boolean, boolean, boolean, ReadOnlyIndex, Object...).- Specified by:
specialMatchin interfaceColumnRegion<ATTR extends Attributes.Any>- Parameters:
keysToFilter- the keys being filteredregionFirstKey- the first key within this regioncaseInsensitive- if the match is case insensitiveinvertMatch- if the match should be invertedkeys- the keys to search for, in no particular order- Returns:
- an index of matched rows
-
doSpecialMatch
protected abstract Index doSpecialMatch(@NotNull OrderedKeys keysToFilter, boolean invertMatch, @NotNull Object[] keys) -
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.Any>- Parameters:
sortedKeys- the keys to search for- Returns:
- true if the region possibly contains the values
-
binSearchMatch
public final 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.Any>- Parameters:
firstKey- The first key to searchlastKey- The last key to searchsortPair- the sorting definitionkeys- the keys to search for, in no particular order
-
chunkMatch
public Index chunkMatch(long regionFirstKey, @NotNull OrderedKeys keysToFilter, boolean caseInsensitive, boolean invertMatch, @NotNull Object[] keys) - Specified by:
chunkMatchin interfaceColumnRegion<ATTR extends Attributes.Any>
-