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 booleancopyStateValuesTo(TableLocationStateHolder destinationHolder)Copy all state values from this to the supplied holder.longgetLastModifiedTimeMillis()longgetSize()ObjectgetStateLock()default voidwriteStateValuesTo(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
-