Package com.illumon.iris.db.v2.locations
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 Summary
-
Method Summary
Modifier and Type Method Description default boolean
copyStateValuesTo(TableLocationStateHolder destinationHolder)
Copy all state values from this to the supplied holder.long
getLastModifiedTimeMillis()
long
getSize()
Object
getStateLock()
default void
writeStateValuesTo(DataOutput output)
Write all state values from this to the supplied output.
-
Field Details
-
NULL_SIZE
static final long NULL_SIZE- See Also:
- Constant Field Values
-
NULL_TIME
static final long NULL_TIME- See Also:
- Constant Field Values
-
-
Method Details
-
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
Write all state values from this to the supplied output.- Parameters:
output
- The output for output- Throws:
IOException
-