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_ARRAY
Fields inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
REGION_MASK
-
Method Summary
Modifier and TypeMethodDescriptionfinal Index
binSearchMatch
(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 boolean
couldInclude
(Object[] sortedKeys) Check if the region could possibly include any of the keys we're searching forprotected abstract Index
doSpecialMatch
(OrderedKeys keysToFilter, boolean invertMatch, Object[] keys) void
fillChunkAppend
(ChunkSource.FillContext context, WritableChunk<? super ATTR> destination, int length) Appends the values repeating valuelength
times todestination
.final ColumnLocation
final Index
specialMatch
(OrderedKeys keysToFilter, long regionFirstKey, boolean caseInsensitive, boolean invertMatch, Object[] keys) IfColumnRegion.supportsSpecialMatching()
istrue
this method will perform matching in lieu of the standardRegionedColumnSourceBase.match(boolean, boolean, boolean, ReadOnlyIndex, Object...)
.final boolean
Check if this region has special matching features.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.chunk.ChunkSource
getChunkType, getNativeType
Methods inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
firstRowOffset, mask
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
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page.WithDefaultsForRepeatingValues
fillChunk, fillChunkAppend, lastRow, length
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.PagingChunkSource
maxRow
Methods 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.WithDefaultsForRepeatingValues
Appends the values repeating valuelength
times todestination
.- Specified by:
fillChunkAppend
in interfacePage.WithDefaultsForRepeatingValues<ATTR extends Attributes.Any>
-
getLocation
- Specified by:
getLocation
in interfaceColumnRegion<ATTR extends Attributes.Any>
-
supportsSpecialMatching
public final boolean supportsSpecialMatching()Description copied from interface:ColumnRegion
Check if this region has special matching features.- Specified by:
supportsSpecialMatching
in 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:ColumnRegion
IfColumnRegion.supportsSpecialMatching()
istrue
this method will perform matching in lieu of the standardRegionedColumnSourceBase.match(boolean, boolean, boolean, ReadOnlyIndex, Object...)
.- Specified by:
specialMatch
in 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:ColumnRegion
Check if the region could possibly include any of the keys we're searching for- Specified by:
couldInclude
in 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:ColumnRegion
Given that this column is sorted, match the input keys using a binary search.- Specified by:
binSearchMatch
in 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:
chunkMatch
in interfaceColumnRegion<ATTR extends Attributes.Any>
-