Class ObjectSingleValueSource<T>

All Implemented Interfaces:
ChunkSink<Values>, ChunkSource<Values>, ChunkSource.WithPrev<Values>, ColumnSource<T>, ElementSource<T>, FillContextMaker, GetContextMaker, ColumnSourceGetDefaults.ForObject<T>, DefaultChunkSource<Values>, DefaultChunkSource.WithPrev<Values>, MutableColumnSource<T>, MutableColumnSourceGetDefaults.ForObject<T>, FillUnordered<Values>, InMemoryColumnSource, RowKeyAgnosticChunkSource<Values>, Releasable, TupleExporter<T>, TupleSource<T>, WritableColumnSource<T>

public class ObjectSingleValueSource<T> extends SingleValueColumnSource<T> implements MutableColumnSourceGetDefaults.ForObject<T>
Single value source for Object.

The C-haracterSingleValueSource is replicated to all other types with io.deephaven.engine.table.impl.sources.Replicate. (C-haracter is deliberately spelled that way in order to prevent Replicate from altering this very comment).

  • Constructor Details

    • ObjectSingleValueSource

      public ObjectSingleValueSource(Class<T> type)
  • Method Details

    • set

      public final void set(T value)
      Overrides:
      set in class SingleValueColumnSource<T>
    • setNull

      public final void setNull()
      Overrides:
      setNull in class SingleValueColumnSource<T>
    • set

      public final void set(long key, T value)
      Specified by:
      set in interface WritableColumnSource<T>
    • get

      public final T get(long rowKey)
      Description copied from interface: ElementSource
      Get the value from the source. This may return boxed values for basic types. RowKeys that are not present are undefined.
      Specified by:
      get in interface ElementSource<T>
      Parameters:
      rowKey - the location in key space to get the value from.
      Returns:
      the value at the rowKey, potentially null.
    • getPrev

      public final T getPrev(long rowKey)
      Description copied from interface: ElementSource
      Get the previous value at the rowKey. Previous values are used during an UG update cycle to process changes in data. During normal operation previous values will be identical to current values. RowKeys that were not present are undefined.
      Specified by:
      getPrev in interface ElementSource<T>
      Parameters:
      rowKey - the location in key space to get the value from.
      Returns:
      the previous value at the rowKey, potentially null.
    • fillFromChunk

      public final void fillFromChunk(@NotNull @NotNull ChunkSink.FillFromContext context, @NotNull @NotNull Chunk<? extends Values> src, @NotNull @NotNull RowSequence rowSequence)
      Description copied from interface: WritableColumnSource
      Our default, inefficient, implementation. Inheritors who care should provide a better implementation.
      Specified by:
      fillFromChunk in interface ChunkSink<T>
      Specified by:
      fillFromChunk in interface WritableColumnSource<T>
      Parameters:
      context - A context containing all mutable/state related data used in writing the Chunk.
      src - The source of the data rowSequence
      rowSequence - An RowSequence representing the keys to be written
    • fillFromChunkUnordered

      public void fillFromChunkUnordered(@NotNull @NotNull ChunkSink.FillFromContext context, @NotNull @NotNull Chunk<? extends Values> src, @NotNull @NotNull LongChunk<RowKeys> keys)
      Description copied from interface: ChunkSink
      Fills the ChunkSink with data from the source, with data corresponding to the keys from the given key chunk.
      Specified by:
      fillFromChunkUnordered in interface ChunkSink<T>
      Specified by:
      fillFromChunkUnordered in interface WritableColumnSource<T>
      Parameters:
      context - A context containing all mutable/state related data used in writing the Chunk.
      src - The source of the data RowSequence
      keys - A LongChunk representing the keys to be written
    • fillChunk

      public void fillChunk(@NotNull @NotNull ChunkSource.FillContext context, @NotNull @NotNull WritableChunk<? super Values> destination, @NotNull @NotNull RowSequence rowSequence)
      Description copied from interface: ChunkSource
      Populates the given destination chunk with data corresponding to the keys from the given RowSequence.
      Specified by:
      fillChunk in interface ChunkSource<T>
      Overrides:
      fillChunk in class AbstractColumnSource<T>
      Parameters:
      context - A context containing all mutable/state related data used in retrieving the Chunk.
      destination - The chunk to be populated according to rowSequence. No assumptions shall be made about the size of the chunk shall be made. The chunk will be populated from position [0,rowSequence.size()).
      rowSequence - An RowSequence representing the keys to be fetched
    • fillPrevChunk

      public void fillPrevChunk(@NotNull @NotNull ChunkSource.FillContext context, @NotNull @NotNull WritableChunk<? super Values> destination, @NotNull @NotNull RowSequence rowSequence)
      Description copied from interface: ChunkSource.WithPrev
      Populates the given destination chunk with data corresponding to the keys from the given RowSequence.
      Specified by:
      fillPrevChunk in interface ChunkSource.WithPrev<T>
      Overrides:
      fillPrevChunk in class AbstractColumnSource<T>
      Parameters:
      context - A context containing all mutable/state related data used in retrieving the Chunk.
      destination - The chunk to be populated according to rowSequence. No assumptions shall be made about the size of the chunk shall be made. The chunk will be populated from position [0,rowSequence.size()).
      rowSequence - An RowSequence representing the keys to be fetched
    • fillChunkUnordered

      public void fillChunkUnordered(@NotNull @NotNull ChunkSource.FillContext context, @NotNull @NotNull WritableChunk<? super Values> dest, @NotNull @NotNull LongChunk<? extends RowKeys> keys)
      Description copied from interface: FillUnordered
      Populates a contiguous portion of the given destination chunk with data corresponding to the keys from the given LongChunk.

      It behaves as if the following code were executed:

       destination.setSize(keys.size());
       for (int ii = 0; ii < keys.size(); ++ii) {
           destination.set(ii, get(keys.get(ii)));
       }
       
      Specified by:
      fillChunkUnordered in interface FillUnordered<T>
      Parameters:
      context - A context containing all mutable/state related data used in retrieving the Chunk.
      dest - The chunk to be populated according to keys
      keys - A chunk of individual, not assumed to be ordered keys to be fetched
    • fillPrevChunkUnordered

      public void fillPrevChunkUnordered(@NotNull @NotNull ChunkSource.FillContext context, @NotNull @NotNull WritableChunk<? super Values> dest, @NotNull @NotNull LongChunk<? extends RowKeys> keys)
      Description copied from interface: FillUnordered
      Populates a contiguous portion of the given destination chunk with prev data corresponding to the keys from the given LongChunk.

      It behaves as if the following code were executed:

       destination.setSize(keys.size());
       for (int ii = 0; ii < keys.size(); ++ii) {
           destination.set(ii, getPrev(keys.get(ii)));
       }
       
      Specified by:
      fillPrevChunkUnordered in interface FillUnordered<T>
      Parameters:
      context - A context containing all mutable/state related data used in retrieving the Chunk.
      dest - The chunk to be populated according to keys
      keys - A chunk of individual, not assumed to be ordered keys to be fetched
    • providesFillUnordered

      public boolean providesFillUnordered()
      Description copied from interface: FillUnordered
      Returns true if this column source can efficiently provide an unordered fill. If this method returns false, then fillChunkUnordered and fillPrevChunkUnordered may throw an UnsupportedOperationException.
      Specified by:
      providesFillUnordered in interface FillUnordered<T>
      Returns:
      if this column source can provide an unordered fill