Class RegionedColumnSourceObjectWithDictionary<T,D>
java.lang.Object
com.illumon.iris.db.v2.sources.AbstractColumnSource<DATA_TYPE>
com.illumon.iris.db.v2.sources.regioned.RegionedColumnSourceBase<DATA_TYPE,ATTR,REGION_TYPE>
com.illumon.iris.db.v2.sources.regioned.RegionedColumnSourceObject<T,Attributes.Values>
com.illumon.iris.db.v2.sources.regioned.RegionedColumnSourceObject.AsValues<T,D>
com.illumon.iris.db.v2.sources.regioned.RegionedColumnSourceObjectWithDictionary<T,D>
- All Implemented Interfaces:
LongSizedDataStructure
,ChunkSource<Attributes.Values>
,ChunkSource.WithPrev<Attributes.Values>
,DefaultChunkSource<Attributes.Values>
,DefaultChunkSource.SupportsContiguousGet<Attributes.Values>
,DefaultChunkSource.WithPrev<Attributes.Values>
,FillContextMaker
,GetContextMaker
,PageStore<Attributes.Values,
,Attributes.Values, ColumnRegionObject<T, Attributes.Values>> PagingChunkSource<Attributes.Values>
,ColumnSource<T>
,ColumnSourceGetDefaults.ForObject<T>
,ElementSource<T>
,ImmutableColumnSource<T>
,MakeRegion<Attributes.Values,
,ColumnRegionObject<T, Attributes.Values>> RegionedColumnSource<T>
,RegionedPageStore<Attributes.Values,
,Attributes.Values, ColumnRegionObject<T, Attributes.Values>> SymbolTableSource<T>
,Releasable
,SizedColumnSource<T>
,TupleExporter<T>
,TupleSource<T>
,Serializable
public class RegionedColumnSourceObjectWithDictionary<T,D>
extends RegionedColumnSourceObject.AsValues<T,D>
implements ColumnSourceGetDefaults.ForObject<T>, SymbolTableSource<T>
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.illumon.iris.db.v2.sources.regioned.RegionedColumnSourceObject
RegionedColumnSourceObject.AsValues<T,
D>, RegionedColumnSourceObject.FillContext 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>
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.regioned.RegionedPageStore
RegionedPageStore.Helper, RegionedPageStore.Static<ATTR extends Attributes.Values,
INNER_ATTR extends ATTR, REGION_TYPE extends ColumnRegion<INNER_ATTR>> -
Field Summary
Fields inherited from class com.illumon.iris.db.v2.sources.regioned.RegionedColumnSourceBase
USE_PARALLEL, USE_PUSHDOWN
Fields inherited from class com.illumon.iris.db.v2.sources.AbstractColumnSource
componentType, 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
Fields inherited from interface com.illumon.iris.db.v2.sources.regioned.RegionedColumnSource
ELEMENT_INDEX_TO_SUB_REGION_ELEMENT_INDEX_MASK, MAXIMUM_REGION_COUNT, REGION_CAPACITY_IN_ELEMENTS, REGION_INDEX_ADDRESS_BITS, SUB_REGION_ELEMENT_INDEX_ADDRESS_BITS
Fields inherited from interface com.illumon.iris.db.v2.sources.regioned.RegionedPageStore
REGION_MASK, REGION_MASK_NUM_BITS
Fields inherited from interface com.illumon.iris.db.v2.sources.regioned.SymbolTableSource
ID_COLUMN_NAME, SYMBOL_COLUMN_NAME
-
Constructor Summary
ConstructorsConstructorDescriptionRegionedColumnSourceObjectWithDictionary
(Class<T> dataType, ObjectDecoder<D> decoder) -
Method Summary
Modifier and TypeMethodDescriptionint
addRegion
(com.illumon.dataobjects.ColumnDefinition<?> columnDefinition, ColumnLocation columnLocation, SourceTableColumnInstructions instructions) Add a region to this regioned column source.<ALTERNATE_DATA_TYPE>
booleanallowsReinterpret
(Class<ALTERNATE_DATA_TYPE> alternateDataType) Test if a reinterpret call will succeed.protected <ALTERNATE_DATA_TYPE>
ColumnSource<ALTERNATE_DATA_TYPE>doReinterpret
(Class<ALTERNATE_DATA_TYPE> alternateDataType) Supply allowed reinterpret results.final ColumnRegionObject<T,
Attributes.Values> getRegion
(int regionIndex) Map from a region index to its corresponding region.final int
Get the number of regions.getStaticSymbolTable
(ReadOnlyIndex sourceIndex, boolean useLookupCaching) Get a staticTable
view of this SymbolTableSource's symbol table, providing a many:1 or 1:1 mapping of uniquelong
identifiers to the symbol values in this source.final Table
getSymbolTable
(QueryTable sourceTable, boolean useLookupCaching) Get aTable
view of this SymbolTableSource's symbol table, providing a many:1 or 1:1 mapping of uniquelong
identifiers to the symbol values in this source.boolean
hasSymbolTable
(ReadOnlyIndex sourceIndex) void
Release any resources held for caching purposes.Methods inherited from class com.illumon.iris.db.v2.sources.regioned.RegionedColumnSourceObject.AsValues
get, makeFillContext, makeRegion
Methods inherited from class com.illumon.iris.db.v2.sources.regioned.RegionedColumnSourceBase
disableGrouping, doMatchWithGrouping, fillChunk, fillPrevChunk, match
Methods inherited from class com.illumon.iris.db.v2.sources.AbstractColumnSource
canUseGrouping, defaultFillChunk, getComponentType, getGroupingBuilder, getGroupingProvider, getNativeType, getType, hasGrouping, isSerializable, matchWithGrouping, reinterpret, setGroupingProvider
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
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
cast, createPreviousTuple, createTuple, createTupleFromValues, exportElement, exportElement, exportToExternalKey, getColumnSources, getComponentType, getGroupingBuilder, getGroupingProvider, getNativeType, getPrevSource, getType, hasGrouping, match, reinterpret, releaseCachedResources, setGroupingProvider, startTrackingPrevValues
Methods inherited from interface com.illumon.iris.db.v2.sources.ColumnSourceGetDefaults.ForObject
getBoolean, getByte, getChar, getDouble, getFloat, getInt, getLong, getShort
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.DefaultChunkSource
getChunkByFilling, 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.ElementSource
get
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.ImmutableColumnSource
getPrev, getPrevBoolean, getPrevByte, getPrevChar, getPrevDouble, getPrevFloat, getPrevInt, getPrevLong, getPrevShort, isImmutable
Methods inherited from interface com.illumon.iris.db.util.LongSizedDataStructure
intSize, intSize
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.PageStore
doFillChunkAppend, fillChunkAppend, getChunk, getChunk
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.PagingChunkSource
maxRow
Methods inherited from interface com.illumon.iris.db.v2.sources.regioned.RegionedPageStore
getPageContaining, lookupRegion, mask, size
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
-
RegionedColumnSourceObjectWithDictionary
public RegionedColumnSourceObjectWithDictionary(@NotNull Class<T> dataType, @NotNull ObjectDecoder<D> decoder)
-
-
Method Details
-
allowsReinterpret
public <ALTERNATE_DATA_TYPE> boolean allowsReinterpret(@NotNull Class<ALTERNATE_DATA_TYPE> alternateDataType) Description copied from interface:ColumnSource
Test if a reinterpret call will succeed.- Specified by:
allowsReinterpret
in interfaceColumnSource<T>
- Overrides:
allowsReinterpret
in classAbstractColumnSource<T>
- Type Parameters:
ALTERNATE_DATA_TYPE
- the dataType to inquire about- Parameters:
alternateDataType
- The alternative type to consider- Returns:
- If a reinterpret on this column source with the supplied alternateDataType will succeed.
-
doReinterpret
protected <ALTERNATE_DATA_TYPE> ColumnSource<ALTERNATE_DATA_TYPE> doReinterpret(@NotNull Class<ALTERNATE_DATA_TYPE> alternateDataType) Description copied from class:AbstractColumnSource
Supply allowed reinterpret results. The default implementation handles the most common case to avoid code duplication.- Overrides:
doReinterpret
in classAbstractColumnSource<T>
- Type Parameters:
ALTERNATE_DATA_TYPE
- the dataType to reinterpret to- Parameters:
alternateDataType
- The alternate data type- Returns:
- The resulting
ColumnSource
-
hasSymbolTable
- Specified by:
hasSymbolTable
in interfaceSymbolTableSource<T>
- Parameters:
sourceIndex
- TheIndex
whose keys must be mappable- Returns:
- Whether this SymbolTableSource can provide a symbol table that covers all keys in
sourceIndex
.
-
asDictionary
-
getStaticSymbolTable
public QueryTable getStaticSymbolTable(@NotNull ReadOnlyIndex sourceIndex, boolean useLookupCaching) Description copied from interface:SymbolTableSource
Get a static
Table
view of this SymbolTableSource's symbol table, providing a many:1 or 1:1 mapping of uniquelong
identifiers to the symbol values in this source.- Specified by:
getStaticSymbolTable
in interfaceSymbolTableSource<T>
- Parameters:
sourceIndex
- TheIndex
whose keys must be mappable via the resultTable
's identifier columnuseLookupCaching
- Whether symbol lookups performed to generate the symbol table should apply caching- Returns:
- The symbol table
-
getSymbolTable
Description copied from interface:SymbolTableSource
Get a
Table
view of this SymbolTableSource's symbol table, providing a many:1 or 1:1 mapping of uniquelong
identifiers to the symbol values in this source.The result will be refreshing if
table
is a refreshingDynamicTable
.- Specified by:
getSymbolTable
in interfaceSymbolTableSource<T>
- Parameters:
sourceTable
- TheQueryTable
whoseIndex
keys must be mappable via the resultTable
's identifier columnuseLookupCaching
- Whether symbol lookups performed to generate the symbol table should apply caching- Returns:
- The symbol table
-
addRegion
@OverridingMethodsMustInvokeSuper public int addRegion(@NotNull com.illumon.dataobjects.ColumnDefinition<?> columnDefinition, @NotNull ColumnLocation columnLocation, @NotNull SourceTableColumnInstructions instructions) Description copied from interface:RegionedColumnSource
Add a region to this regioned column source. Elements in this region are ordered after elements in other regions added previously.- Specified by:
addRegion
in interfaceRegionedColumnSource<DATA_TYPE>
- Parameters:
columnDefinition
- The column definition for this column source (potentially varies by region)columnLocation
- The column location for the region being added- Returns:
- The index assigned to the added region
-
getRegionCount
public final int getRegionCount()Description copied from interface:RegionedPageStore
Get the number of regions.- Specified by:
getRegionCount
in interfaceRegionedPageStore<DATA_TYPE,
ATTR extends Attributes.Values, REGION_TYPE extends ColumnRegion<ATTR>> - Returns:
- The number of regions that have been added
-
getRegion
Description copied from interface:RegionedPageStore
Map from a region index to its corresponding region.- Specified by:
getRegion
in interfaceRegionedPageStore<DATA_TYPE,
ATTR extends Attributes.Values, REGION_TYPE extends ColumnRegion<ATTR>> - Parameters:
regionIndex
- The region index- Returns:
- The region for the supplied region index
-
releaseCachedResources
@OverridingMethodsMustInvokeSuper public void releaseCachedResources()Description copied from interface:ColumnSource
Release any resources held for caching purposes. Implementations need not guarantee that concurrent accesses are correct, as the purpose of this method is to ensure cleanup for column sources that will no longer be used.- Specified by:
releaseCachedResources
in interfaceColumnSource<DATA_TYPE>
- Specified by:
releaseCachedResources
in interfaceReleasable
-
getNullRegion
-