Package com.illumon.iris.db.v2.sources
Class ZonedDateTimeArraySource
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<ZonedDateTime>
com.illumon.iris.db.v2.sources.ZonedDateTimeArraySource
- All Implemented Interfaces:
ChunkSource<Attributes.Values>
,ChunkSource.WithPrev<Attributes.Values>
,DefaultChunkSource<Attributes.Values>
,DefaultChunkSource.WithPrev<Attributes.Values>
,FillContextMaker
,GetContextMaker
,ColumnSource<ZonedDateTime>
,ColumnSourceGetDefaults.ForObject<ZonedDateTime>
,ConvertableTimeSource
,ConvertableTimeSource.Zoned
,ElementSource<ZonedDateTime>
,FillUnordered
,MutableColumnSource<ZonedDateTime>
,MutableColumnSourceGetDefaults.ForObject<ZonedDateTime>
,Releasable
,WritableChunkSink<Attributes.Values>
,WritableSource<ZonedDateTime>
,TupleExporter<ZonedDateTime>
,TupleSource<ZonedDateTime>
,ShiftData.ShiftCallback
,Serializable
public class ZonedDateTimeArraySource
extends NanosBasedTimeArraySource<ZonedDateTime>
implements MutableColumnSourceGetDefaults.ForObject<ZonedDateTime>, ConvertableTimeSource.Zoned
Array-backed ColumnSource for
Instant
s. Allows reinterpretation as long.- 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.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.ConvertableTimeSource
ConvertableTimeSource.Zoned
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.WritableChunkSink
WritableChunkSink.FillFromContext
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected UpdateCommitter<com.illumon.iris.db.v2.sources.ArraySourceHelper<ZonedDateTime,
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
nanoSource
Fields inherited from class com.illumon.iris.db.v2.sources.ArrayBackedColumnSource
BLOCK_SIZE
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.WritableChunkSink
DEFAULT_FILL_FROM_INSTANCE
Fields inherited from interface com.illumon.iris.db.v2.sources.WritableSource
ZERO_LENGTH_WRITABLE_SOURCE_ARRAY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
fillFromChunk
(WritableChunkSink.FillFromContext context, Chunk<? extends Attributes.Values> src, OrderedKeys orderedKeys) Our default, inefficient, implementation.final long
Get the capacity of this column source.getZone()
makeFillFromContext
(int chunkCapacity) Provide a default, emptyWritableChunkSink.FillFromContext
for 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 ZonedDateTime
makeValue
(long nanos) protected long
toNanos
(ZonedDateTime value) toZonedDateTime
(ZoneId zone) Convert this source to aZonedDateTime
source at the specifiedzone
.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, toDBDateTime, toEpochNano, toInstant, toLocalDate, toLocalTime
Methods 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, set
Methods inherited from class com.illumon.iris.db.v2.sources.AbstractColumnSource
canUseGrouping, defaultFillChunk, getComponentType, getGroupingBuilder, getGroupingProvider, getNativeType, getType, hasGrouping, isSerializable, match, 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
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, 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
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.ElementSource
get, getPrev
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.FillContextMaker
makeFillContext
Methods inherited from interface com.illumon.iris.db.v2.sources.FillUnordered
fillChunkUnordered, fillPrevChunkUnordered
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.GetContextMaker
makeGetContext
Methods inherited from interface com.illumon.iris.db.v2.sources.MutableColumnSource
isImmutable
Methods inherited from interface com.illumon.iris.db.v2.sources.MutableColumnSourceGetDefaults.ForObject
getPrevBoolean, getPrevByte, getPrevChar, getPrevDouble, getPrevFloat, getPrevInt, getPrevLong, getPrevShort
Methods inherited from interface com.illumon.iris.db.v2.tuples.TupleExporter
exportElementReinterpreted
Methods inherited from interface com.illumon.iris.db.v2.tuples.TupleSource
createTupleFromReinterpretedValues
Methods 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<ZonedDateTime,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
-
ZonedDateTimeArraySource
-
ZonedDateTimeArraySource
-
ZonedDateTimeArraySource
-
ZonedDateTimeArraySource
-
-
Method Details
-
makeValue
- Specified by:
makeValue
in classNanosBasedTimeArraySource<ZonedDateTime>
-
toNanos
- Specified by:
toNanos
in classNanosBasedTimeArraySource<ZonedDateTime>
-
toZonedDateTime
Description copied from interface:ConvertableTimeSource
Convert this source to aZonedDateTime
source at the specifiedzone
.- Specified by:
toZonedDateTime
in interfaceConvertableTimeSource
- Overrides:
toZonedDateTime
in classNanosBasedTimeArraySource<ZonedDateTime>
- Parameters:
zone
- the time zone- Returns:
- a view of this source as a
ZonedDateTime
-
getZone
- Specified by:
getZone
in interfaceConvertableTimeSource.Zoned
-
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:WritableSource
Provide a default, emptyWritableChunkSink.FillFromContext
for 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:WritableSource
Our 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 dataorderedKeys
orderedKeys
- AnOrderedKeys
representing the keys to be written
-