Interface TableLocationState

All Known Subinterfaces:
DeephavenFormatTableLocation<CLT>, IWritableLocalTableLocation, ParquetFormatTableLocation<CLT>, TableLocation<CLT>
All Known Implementing Classes:
AbstractTableLocation, CheckpointRecord, DeferredTableLocation, DeferredTableLocation.DataDriven, DeferredTableLocation.SnapshotDriven, LocalTableLocation, ReadOnlyLocalTableLocation, ReadOnlyParquetTableLocation, TableLocationStateHolder, WritableLocalTableLocation

public interface TableLocationState
Interface for the mutable fields of a table location. Supports multi-value copy methods, so that applications needing a consistent view of all fields can work with a local copy while only locking this object for a short while.
  • Field Details

  • Method Details

    • getStateLock

      @NotNull Object getStateLock()
      Returns:
      The Object that accessors should synchronize on if they want to invoke multiple getters with consistent results.
    • getSize

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

      long getLastModifiedTimeMillis()
      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 table location
      >= 0L : The time this table was last modified, in milliseconds from the UTC epoch
    • copyStateValuesTo

      @FinalDefault default boolean copyStateValuesTo​(@NotNull TableLocationStateHolder destinationHolder)
      Copy all state values from this to the supplied holder.
      Parameters:
      destinationHolder - The destination for output
      Returns:
      Whether any of destinationHolder's values changed
    • writeStateValuesTo

      @FinalDefault default void writeStateValuesTo​(@NotNull DataOutput output) throws IOException
      Write all state values from this to the supplied output.
      Parameters:
      output - The output for output
      Throws:
      IOException