Interface SsmBackedColumnSource<K extends SegmentedSortedMultiSet,T extends DbArrayBase>

Type Parameters:
K - The SSM Type
T - The provided Array type
All Superinterfaces:
ChunkSource<Attributes.Values>, ChunkSource.WithPrev<Attributes.Values>, ColumnSource<T>, DefaultChunkSource<Attributes.Values>, DefaultChunkSource.WithPrev<Attributes.Values>, ElementSource<T>, FillContextMaker, GetContextMaker, Releasable, TupleExporter<T>, TupleSource<T>
All Known Implementing Classes:
ByteSsmBackedSource, CharSsmBackedSource, DoubleSsmBackedSource, FloatSsmBackedSource, IntSsmBackedSource, LongSsmBackedSource, ObjectSsmBackedSource, ShortSsmBackedSource

public interface SsmBackedColumnSource<K extends SegmentedSortedMultiSet,T extends DbArrayBase> extends ColumnSource<T>
A ColumnSource that provides DBArrays of type T, backed by a same typed SegmentedSortedMultiSet.
  • Method Details

    • create

      static SsmBackedColumnSource create(@NotNull Class<?> type)
      Create an appropriate instance for the specified type
      Parameters:
      type -
      Returns:
    • getUnderlyingSource

      ObjectArraySource<K> getUnderlyingSource()
    • getCurrentSsm

      K getCurrentSsm(long key)
      Get the current SSM at the specified key. This does not permute it in any way.
      Parameters:
      key - the key to get the ssm for.
      Returns:
      the SSM
    • getOrCreate

      K getOrCreate(long key)
      Get the ssm at the specified key, creating one if none existed. This method will update the current previous tracking state of the SSM.
      Parameters:
      key - the key to get the ssm for.
      Returns:
      the SSM at the key, or a new one.
    • clear

      void clear(long key)
      Set the SSM at the specified key to null
      Parameters:
      key - the key to get the ssm for.
    • ensureCapacity

      void ensureCapacity(long capacity)
      Ensure the source has at least `capacity` capacity
      Parameters:
      capacity - the capacity to ensure.
    • clearDeltas

      void clearDeltas(Index indices)
      Clear out any tracked deltas from recent computations.
      Parameters:
      indices - the set of indices to clear deltas for.