Package com.illumon.iris.db.v2.sources
Class AbstractDeferredGroupingColumnSource<T>
java.lang.Object
com.illumon.iris.db.v2.sources.AbstractColumnSource<T>
com.illumon.iris.db.v2.sources.AbstractDeferredGroupingColumnSource<T>
- All Implemented Interfaces:
ChunkSource<Attributes.Values>
,ChunkSource.WithPrev<Attributes.Values>
,DefaultChunkSource<Attributes.Values>
,DefaultChunkSource.WithPrev<Attributes.Values>
,FillContextMaker
,GetContextMaker
,ColumnSource<T>
,DeferredGroupingColumnSource<T>
,ElementSource<T>
,Releasable
,TupleExporter<T>
,TupleSource<T>
,Serializable
- Direct Known Subclasses:
ArrayBackedColumnSource
,ReadOnlyRedirectedColumnSource
,RegionedColumnSourceObject
,ShiftedColumnSource
,SparseArrayColumnSource
public abstract class AbstractDeferredGroupingColumnSource<T> extends AbstractColumnSource<T> implements DeferredGroupingColumnSource<T>
Adds deferred grouping support to
AbstractColumnSource
.- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class com.illumon.iris.db.v2.sources.AbstractColumnSource
AbstractColumnSource.DefaultedImmutable<DATA_TYPE>, AbstractColumnSource.DefaultedMutable<DATA_TYPE>, AbstractColumnSource.IsSerializable
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.chunk.DefaultChunkSource
DefaultChunkSource.SupportsContiguousGet<ATTR extends Attributes.Any>, DefaultChunkSource.WithPrev<ATTR extends Attributes.Any>
-
Field Summary
Fields inherited from class com.illumon.iris.db.v2.sources.AbstractColumnSource
componentType, groupToRange, type
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.chunk.ChunkSource.WithPrev
ZERO_LENGTH_CHUNK_SOURCE_WITH_PREV_ARRAY
Fields inherited from interface com.illumon.iris.db.v2.sources.ColumnSource
ZERO_LENGTH_COLUMN_SOURCE_ARRAY
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractDeferredGroupingColumnSource(Class<T> type)
protected
AbstractDeferredGroupingColumnSource(Class<T> type, Class componentType)
-
Method Summary
Modifier and Type Method Description GroupingProvider<T>
getGroupingProvider()
Map<T,ReadOnlyIndex>
getGroupToRange()
Compute grouping information for all keys present in this column source.Map<T,ReadOnlyIndex>
getGroupToRange(ReadOnlyIndex index)
Compute grouping information for (at least) all keys present in index.void
setGroupingProvider(GroupingProvider<T> groupingProvider)
Set a grouping provider for use in lazily-constructing groupings.Methods inherited from class com.illumon.iris.db.v2.sources.AbstractColumnSource
allowsReinterpret, computeFlattenedGroupings, defaultFillChunk, doReinterpret, fillChunk, fillPrevChunk, forEachGroup, forEachResponsiveGroup, getComponentType, getNativeType, getType, getValuesMapping, groupingToFlatSources, groupingToFlatSources, groupingToFlatSources, isSerializable, match, reinterpret, setGroupToRange
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
fillChunk, getChunkType
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource.WithPrev
fillPrevChunk
Methods inherited from interface com.illumon.iris.db.v2.sources.ColumnSource
allowsReinterpret, cast, createPreviousTuple, createTuple, createTupleFromValues, exportElement, exportElement, exportToExternalKey, getColumnSources, getComponentType, getNativeType, getPrevSource, getType, getValuesMapping, isImmutable, match, reinterpret, releaseCachedResources, startTrackingPrevValues
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.DefaultChunkSource.WithPrev
getPrevChunk, getPrevChunk, getPrevChunkByFilling
Methods inherited from interface com.illumon.iris.db.v2.sources.DeferredGroupingColumnSource
setGroupToRange
Methods inherited from interface com.illumon.iris.db.v2.sources.ElementSource
get, getBoolean, getByte, getChar, getDouble, getFloat, getInt, getLong, getPrev, getPrevBoolean, getPrevByte, getPrevChar, getPrevDouble, getPrevFloat, getPrevInt, getPrevLong, getPrevShort, getShort
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.tuples.TupleExporter
exportElementReinterpreted
Methods inherited from interface com.illumon.iris.db.v2.tuples.TupleSource
createTupleFromReinterpretedValues
-
Constructor Details
-
Method Details
-
getGroupingProvider
- Specified by:
getGroupingProvider
in interfaceDeferredGroupingColumnSource<T>
- Returns:
- A provider previously set by
DeferredGroupingColumnSource.setGroupingProvider(com.illumon.iris.db.v2.locations.GroupingProvider)
-
setGroupingProvider
Set a grouping provider for use in lazily-constructing groupings.- Specified by:
setGroupingProvider
in interfaceDeferredGroupingColumnSource<T>
- Parameters:
groupingProvider
- TheGroupingProvider
to use
-
getGroupToRange
Description copied from interface:ColumnSource
Compute grouping information for all keys present in this column source.- Specified by:
getGroupToRange
in interfaceColumnSource<T>
- Overrides:
getGroupToRange
in classAbstractColumnSource<T>
- Returns:
- A map from distinct data values to an index that contains those values
-
getGroupToRange
Description copied from interface:ColumnSource
Compute grouping information for (at least) all keys present in index.- Specified by:
getGroupToRange
in interfaceColumnSource<T>
- Overrides:
getGroupToRange
in classAbstractColumnSource<T>
- Parameters:
index
- The index to consider- Returns:
- A map from distinct data values to an index that contains those values
-