Class TableLocationStateHolder

java.lang.Object
io.deephaven.engine.table.impl.locations.TableLocationStateHolder
All Implemented Interfaces:
TableLocationState

public class TableLocationStateHolder extends Object implements TableLocationState
Tool for generic multi-field "atomic" get/set of state values for a table location. NB: Possibly-concurrent usages should be externally synchronized.
  • Constructor Details

    • TableLocationStateHolder

      public TableLocationStateHolder()
  • Method Details

    • getStateLock

      @NotNull public final @NotNull Object getStateLock()
      Specified by:
      getStateLock in interface TableLocationState
      Returns:
      The Object that accessors should synchronize on if they want to invoke multiple getters with consistent results.
    • getRowSet

      public final RowSet getRowSet()
      Specified by:
      getRowSet in interface TableLocationState
      Returns:
      The (possibly-empty) RowSet of a table location, or null if RowSet information is unknown or does not exist for this table location.
    • getSize

      public final long getSize()
      Specified by:
      getSize in interface TableLocationState
      Returns:
      The size of a table location:
      NULL_SIZE: Size information is unknown or does not exist for this location
      >= 0: The table location exists and has (possibly empty) data
    • getLastModifiedTimeMillis

      public final long getLastModifiedTimeMillis()
      Specified by:
      getLastModifiedTimeMillis in interface TableLocationState
      Returns:
      The last modified time for a table location, in milliseconds from the epoch:
      NULL_TIME: Modification time information is unknown or does not exist for this location
      >= 0: The time this table was last modified, in milliseconds from the UTC epoch
    • clearValues

      protected final void clearValues()
      Clear this holder, by reinitializing all fields to their "null" equivalents.
    • setValues

      public final boolean setValues(@Nullable @Nullable RowSet rowSet, long lastModifiedTimeMillis)
      Set all state values.
      Parameters:
      rowSet - The new RowSet. Ownership passes to this holder; callers should copy it if necessary.
      lastModifiedTimeMillis - The new modification time
      Returns:
      Whether any of the values changed