Class UnboxedLongBackedColumnSource<T>

java.lang.Object
com.illumon.iris.db.v2.sources.AbstractColumnSource<Long>
com.illumon.iris.db.v2.sources.UnboxedLongBackedColumnSource<T>
All Implemented Interfaces:
ChunkSource<Attributes.Values>, ChunkSource.WithPrev<Attributes.Values>, DefaultChunkSource<Attributes.Values>, DefaultChunkSource.WithPrev<Attributes.Values>, FillContextMaker, GetContextMaker, ColumnSource<Long>, ColumnSourceGetDefaults.ForLong, ColumnSourceGetDefaults.LongBacked<Long>, ElementSource<Long>, MutableColumnSource<Long>, MutableColumnSourceGetDefaults.ForLong, MutableColumnSourceGetDefaults.LongBacked<Long>, Releasable, TupleExporter<Long>, TupleSource<Long>, Serializable
Direct Known Subclasses:
UnboxedLongBackedWritableSource

public class UnboxedLongBackedColumnSource<T> extends AbstractColumnSource<Long> implements MutableColumnSourceGetDefaults.ForLong
Reinterpret result for many ColumnSource implementations that internally represent DBDateTime values as long values.
See Also:
  • Constructor Details

    • UnboxedLongBackedColumnSource

      public UnboxedLongBackedColumnSource(ColumnSource<T> alternateColumnSource)
  • Method Details

    • getLong

      public long getLong(long index)
      Description copied from interface: ElementSource
      Get the value at the index as a long.
      Specified by:
      getLong in interface ElementSource<T>
      Parameters:
      index - the location in index space to get the value from.
      Returns:
      the long at the index, null values are represented by QueryConstants.NULL_LONG
    • getPrevLong

      public long getPrevLong(long index)
      Description copied from interface: ElementSource
      Get the previous value at the index as a long. See ElementSource.getPrev(long) for more details.
      Specified by:
      getPrevLong in interface ElementSource<T>
      Parameters:
      index - the location in index space to get the previous value from.
      Returns:
      the previous long at the index, null values are represented by QueryConstants.NULL_LONG
    • isImmutable

      public boolean isImmutable()
      Description copied from interface: ColumnSource
      Determine if this column source is immutable, meaning that the values at a given index key never change.
      Specified by:
      isImmutable in interface ColumnSource<T>
      Specified by:
      isImmutable in interface MutableColumnSource<T>
      Returns:
      true if the values at a given index of the column source never change, false otherwise
    • 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 interface ColumnSource<T>
      Overrides:
      allowsReinterpret in class AbstractColumnSource<Long>
      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

      public <ALTERNATE_DATA_TYPE> ColumnSource<ALTERNATE_DATA_TYPE> doReinterpret(@NotNull Class<ALTERNATE_DATA_TYPE> alternateDataType) throws IllegalArgumentException
      Description copied from class: AbstractColumnSource
      Supply allowed reinterpret results. The default implementation handles the most common case to avoid code duplication.
      Overrides:
      doReinterpret in class AbstractColumnSource<Long>
      Type Parameters:
      ALTERNATE_DATA_TYPE - the dataType to reinterpret to
      Parameters:
      alternateDataType - The alternate data type
      Returns:
      The resulting ColumnSource
      Throws:
      IllegalArgumentException