Package com.illumon.iris.db.v2.sources
Class DateTimeArraySource
java.lang.Object
com.illumon.iris.db.v2.sources.AbstractColumnSource<T>
com.illumon.iris.db.v2.sources.ArrayBackedColumnSource<T>
com.illumon.iris.db.v2.sources.NanosBasedTimeArraySource<DBDateTime>
com.illumon.iris.db.v2.sources.DateTimeArraySource
- All Implemented Interfaces:
ChunkSource<Attributes.Values>,ChunkSource.WithPrev<Attributes.Values>,DefaultChunkSource<Attributes.Values>,DefaultChunkSource.WithPrev<Attributes.Values>,FillContextMaker,GetContextMaker,ColumnSource<DBDateTime>,ColumnSourceGetDefaults.ForLongAsDateTime,ColumnSourceGetDefaults.LongBacked<DBDateTime>,ConvertableTimeSource,ElementSource<DBDateTime>,FillUnordered,MutableColumnSource<DBDateTime>,MutableColumnSourceGetDefaults.ForLongAsDateTime,MutableColumnSourceGetDefaults.LongBacked<DBDateTime>,Releasable,WritableChunkSink<Attributes.Values>,WritableSource<DBDateTime>,TupleExporter<DBDateTime>,TupleSource<DBDateTime>,ShiftData.ShiftCallback,Serializable
public class DateTimeArraySource
extends NanosBasedTimeArraySource<DBDateTime>
implements MutableColumnSourceGetDefaults.ForLongAsDateTime, ConvertableTimeSource
Array-backed
ColumnSource for DBDateTimes. Allows reinterpretation to long and Instant.- See Also:
-
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.IsSerializableNested 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.ConvertableTimeSource
ConvertableTimeSource.ZonedNested 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.WritableChunkSink
WritableChunkSink.FillFromContext -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected UpdateCommitter<com.illumon.iris.db.v2.sources.ArraySourceHelper<DBDateTime,long[]>> The presence of a prevFlusher means that this ArraySource wants to track previous values.Fields inherited from class com.illumon.iris.db.v2.sources.NanosBasedTimeArraySource
nanoSourceFields inherited from class com.illumon.iris.db.v2.sources.ArrayBackedColumnSource
BLOCK_SIZEFields inherited from class com.illumon.iris.db.v2.sources.AbstractColumnSource
componentType, typeFields 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.chunk.ChunkSource.WithPrev
ZERO_LENGTH_CHUNK_SOURCE_WITH_PREV_ARRAYFields inherited from interface com.illumon.iris.db.v2.sources.ColumnSource
ZERO_LENGTH_COLUMN_SOURCE_ARRAYFields inherited from interface com.illumon.iris.db.v2.sources.WritableChunkSink
DEFAULT_FILL_FROM_INSTANCEFields inherited from interface com.illumon.iris.db.v2.sources.WritableSource
ZERO_LENGTH_WRITABLE_SOURCE_ARRAY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidfillFromChunk(WritableChunkSink.FillFromContext context, Chunk<? extends Attributes.Values> src, OrderedKeys orderedKeys) Our default, inefficient, implementation.final longGet the capacity of this column source.makeFillFromContext(int chunkCapacity) Provide a default, emptyWritableChunkSink.FillFromContextfor use with our defaultWritableSource.fillFromChunk(com.illumon.iris.db.v2.sources.WritableChunkSink.FillFromContext, com.illumon.iris.db.v2.sources.chunk.Chunk<? extends com.illumon.iris.db.v2.sources.chunk.Attributes.Values>, com.illumon.iris.db.v2.utils.OrderedKeys).protected DBDateTimemakeValue(long nanos) Convert this source to aDBDateTimesource.protected longtoNanos(DBDateTime value) Methods inherited from class com.illumon.iris.db.v2.sources.NanosBasedTimeArraySource
allowsReinterpret, copy, doReinterpret, ensureCapacity, ensureCapacity, fillChunk, fillFromChunkUnordered, fillPrevChunk, fillSparseChunk, fillSparseChunkUnordered, fillSparsePrevChunk, fillSparsePrevChunkUnordered, get, getAndSetUnsafe, getChunk, getLong, getPrev, getPrevChunk, getPrevLong, getUnsafe, makeFillContext, resetWritableChunkToBackingStore, set, set, setNull, shift, startTrackingPrevValues, supportsTimeConversion, toEpochNano, toInstant, toLocalDate, toLocalTime, toZonedDateTimeMethods inherited from class com.illumon.iris.db.v2.sources.ArrayBackedColumnSource
fillChunkUnordered, fillPrevChunkUnordered, getDateTimeMemoryColumnSource, getDateTimeMemoryColumnSource, getImmutableMemoryColumnSource, getImmutableMemoryColumnSource, getMemoryColumnSource, getMemoryColumnSource, getMemoryColumnSource, getMemoryColumnSource, getMemoryColumnSource, getMemoryColumnSource, getMemoryColumnSource, getMemoryColumnSource, getMemoryColumnSource, getMemoryColumnSource, getMemoryColumnSource, getMemoryColumnSource, getMemoryColumnSource, isImmutable, set, set, set, set, set, setMethods inherited from class com.illumon.iris.db.v2.sources.AbstractColumnSource
canUseGrouping, defaultFillChunk, getComponentType, getGroupingBuilder, getGroupingProvider, getNativeType, getType, hasGrouping, hasGrouping, isSerializable, match, matchWithGrouping, reinterpret, setGroupingProviderMethods 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
fillChunk, getChunkTypeMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource.WithPrev
fillPrevChunkMethods inherited from interface com.illumon.iris.db.v2.sources.ColumnSource
allowsReinterpret, cast, createPreviousTuple, createTuple, createTupleFromValues, exportElement, exportElement, exportToExternalKey, getColumnSources, getComponentType, getGroupingBuilder, getGroupingProvider, getNativeType, getPrevSource, getType, hasGrouping, hasGrouping, match, reinterpret, releaseCachedResources, setGroupingProvider, startTrackingPrevValuesMethods inherited from interface com.illumon.iris.db.v2.sources.ColumnSourceGetDefaults.ForLongAsDateTime
getMethods inherited from interface com.illumon.iris.db.v2.sources.ColumnSourceGetDefaults.LongBacked
getBoolean, getByte, getChar, getDouble, getFloat, getInt, getShortMethods inherited from interface com.illumon.iris.db.v2.sources.ConvertableTimeSource
supportsTimeConversion, toEpochNano, toInstant, toLocalDate, toLocalTime, toZonedDateTimeMethods 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.DefaultChunkSource.WithPrev
getPrevChunk, getPrevChunk, getPrevChunkByFillingMethods inherited from interface com.illumon.iris.db.v2.sources.ElementSource
getLong, getPrevLongMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.FillContextMaker
makeFillContextMethods inherited from interface com.illumon.iris.db.v2.sources.FillUnordered
fillChunkUnordered, fillPrevChunkUnorderedMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.GetContextMaker
makeGetContextMethods inherited from interface com.illumon.iris.db.v2.sources.MutableColumnSource
isImmutableMethods inherited from interface com.illumon.iris.db.v2.sources.MutableColumnSourceGetDefaults.ForLongAsDateTime
getPrevMethods inherited from interface com.illumon.iris.db.v2.sources.MutableColumnSourceGetDefaults.LongBacked
getPrevBoolean, getPrevByte, getPrevChar, getPrevDouble, getPrevFloat, getPrevInt, getPrevShortMethods inherited from interface com.illumon.iris.db.v2.tuples.TupleExporter
exportElementReinterpretedMethods inherited from interface com.illumon.iris.db.v2.tuples.TupleSource
createTupleFromReinterpretedValuesMethods inherited from interface com.illumon.iris.db.v2.sources.WritableSource
fillFromChunk, makeFillFromContext, set, set, set, set, set, set, setNull
-
Field Details
-
prevFlusher
protected transient UpdateCommitter<com.illumon.iris.db.v2.sources.ArraySourceHelper<DBDateTime,long[]>> prevFlusherThe presence of a prevFlusher means that this ArraySource wants to track previous values. If prevFlusher is null, the ArraySource does not want (or does not yet want) to track previous values. Deserialized ArraySources never track previous values.
-
-
Constructor Details
-
DateTimeArraySource
public DateTimeArraySource() -
DateTimeArraySource
-
-
Method Details
-
makeValue
- Specified by:
makeValuein classNanosBasedTimeArraySource<DBDateTime>
-
toNanos
- Specified by:
toNanosin classNanosBasedTimeArraySource<DBDateTime>
-
toDBDateTime
Description copied from interface:ConvertableTimeSourceConvert this source to aDBDateTimesource.- Specified by:
toDBDateTimein interfaceConvertableTimeSource- Overrides:
toDBDateTimein classNanosBasedTimeArraySource<DBDateTime>- Returns:
- a view of this source as a
DBDateTime
-
getCapacity
public final long getCapacity()Get the capacity of this column source. This number is one higher than the highest key that may be accessed (read or written).- Returns:
- The capacity of this column source
-
makeFillFromContext
Description copied from interface:WritableSourceProvide a default, emptyWritableChunkSink.FillFromContextfor use with our defaultWritableSource.fillFromChunk(com.illumon.iris.db.v2.sources.WritableChunkSink.FillFromContext, com.illumon.iris.db.v2.sources.chunk.Chunk<? extends com.illumon.iris.db.v2.sources.chunk.Attributes.Values>, com.illumon.iris.db.v2.utils.OrderedKeys). -
fillFromChunk
public void fillFromChunk(@NotNull WritableChunkSink.FillFromContext context, @NotNull Chunk<? extends Attributes.Values> src, @NotNull OrderedKeys orderedKeys) Description copied from interface:WritableSourceOur default, inefficient, implementation. Inheritors who care should provide a better implementation.- Parameters:
context- A context containing all mutable/state related data used in writing the Chunk.src- The source of the dataorderedKeysorderedKeys- AnOrderedKeysrepresenting the keys to be written
-