Package com.illumon.iris.db.v2.locations
Class DeferredTableLocation<CLT extends ColumnLocation>
java.lang.Object
com.illumon.iris.db.v2.locations.DeferredTableLocation<CLT>
- All Implemented Interfaces:
com.fishlib.base.log.LogOutputAppendable,TableLocation<CLT>,TableLocationKey,TableLocationState,NamedImplementation
- Direct Known Subclasses:
DeferredTableLocation.DataDriven,DeferredTableLocation.SnapshotDriven
public abstract class DeferredTableLocation<CLT extends ColumnLocation> extends Object implements TableLocation<CLT>
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDeferredTableLocation.DataDriven<CLT extends ColumnLocation>DeferredTableLocation that needs to initialize its inner location for all non-key methods.static classDeferredTableLocation.SnapshotDriven<CLT extends ColumnLocation>DeferredTableLocation that implements metadata getters by delegating to a snapshot.static interfaceDeferredTableLocation.TableLocationCreator<CLT extends ColumnLocation>Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.locations.TableLocation
TableLocation.Format, TableLocation.ListenerNested classes/interfaces inherited from interface com.illumon.iris.db.v2.locations.TableLocationKey
TableLocationKey.ComparatorImpl, TableLocationKey.KeyedObjectKeyImpl<VALUE_TYPE>, TableLocationKey.SelfKeyedObjectKeyImpl<VALUE_TYPE extends TableLocationKey> -
Field Summary
Fields inherited from interface com.illumon.iris.db.v2.locations.TableLocationKey
COMPARATOR, NULL_PARTITIONFields inherited from interface com.illumon.iris.db.v2.locations.TableLocationState
NULL_SIZE, NULL_TIME, REMOVE_SIZE -
Method Summary
Modifier and Type Method Description CLTgetColumnLocation(CharSequence name)CharSequencegetColumnPartition()StringgetImplementationName()Get a name for the implementing class.CharSequencegetInternalPartition()TableKeygetTableKey()longgetVisit()return the last value set inTableLocation.visit(long)booleanisRealized()Check if this location has been visited in a way that required creation of the actual underlying location/StringtoString()DeferredTableLocation<CLT>visit(long stamp)Mark this table location as visited, with the given (time)stamp.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.illumon.iris.db.v2.locations.TableLocation
append, getColumnVersion, getDataIndex, getFormat, getSortedColumns, hasDataIndexFor, refresh, subscribe, supportsSubscriptions, toGenericString, toStringDetailed, toStringHelper, unsubscribeMethods inherited from interface com.illumon.iris.db.v2.locations.TableLocationState
copyStateValuesTo, getLastModifiedTimeMillis, getSize, getSizeStr, getStateLock, writeStateValuesTo
-
Method Details
-
visit
Description copied from interface:TableLocationMark this table location as visited, with the given (time)stamp.- Specified by:
visitin interfaceTableLocation<CLT extends ColumnLocation>- Parameters:
stamp- a monotonically increasing value indicating when this location was visited.- Returns:
- returns itself for chaining
-
getVisit
public long getVisit()Description copied from interface:TableLocationreturn the last value set inTableLocation.visit(long)- Specified by:
getVisitin interfaceTableLocation<CLT extends ColumnLocation>- Returns:
- the last value set in visit()
-
toString
-
getImplementationName
Description copied from interface:NamedImplementationGet a name for the implementing class. Useful for abstract classes that implement
LogOutputAppendableor overridetoString.The default implementation is correct, but not suitable for high-frequency usage.
- Specified by:
getImplementationNamein interfaceNamedImplementation- Returns:
- A name for the implementing class
-
getInternalPartition
- Specified by:
getInternalPartitionin interfaceTableLocationKey- Returns:
- The internal partition that encloses the identified table location, or null if none exists
-
getColumnPartition
- Specified by:
getColumnPartitionin interfaceTableLocationKey- Returns:
- The column partition that encloses the identified table location, or null if none exists
-
getTableKey
- Specified by:
getTableKeyin interfaceTableLocation<CLT extends ColumnLocation>- Returns:
- A TableKey instance for the enclosing table
-
getColumnLocation
- Specified by:
getColumnLocationin interfaceTableLocation<CLT extends ColumnLocation>- Parameters:
name- The column name- Returns:
- The ColumnLocation for the defined column under this table location
-
isRealized
public final boolean isRealized()Check if this location has been visited in a way that required creation of the actual underlying location/- Returns:
- true of the location has been realized.
-