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 class
DeferredTableLocation.DataDriven<CLT extends ColumnLocation>
DeferredTableLocation that needs to initialize its inner location for all non-key methods.static class
DeferredTableLocation.SnapshotDriven<CLT extends ColumnLocation>
DeferredTableLocation that implements metadata getters by delegating to a snapshot.static interface
DeferredTableLocation.TableLocationCreator<CLT extends ColumnLocation>
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.locations.TableLocation
TableLocation.Format, TableLocation.Listener
Nested 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_PARTITION
Fields inherited from interface com.illumon.iris.db.v2.locations.TableLocationState
NULL_SIZE, NULL_TIME, REMOVE_SIZE
-
Method Summary
Modifier and Type Method Description CLT
getColumnLocation(CharSequence name)
CharSequence
getColumnPartition()
String
getImplementationName()
Get a name for the implementing class.CharSequence
getInternalPartition()
TableKey
getTableKey()
long
getVisit()
return the last value set inTableLocation.visit(long)
boolean
isRealized()
Check if this location has been visited in a way that required creation of the actual underlying location/String
toString()
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, wait
Methods inherited from interface com.illumon.iris.db.v2.locations.TableLocation
append, getColumnVersion, getDataIndex, getFormat, getSortedColumns, hasDataIndexFor, refresh, subscribe, supportsSubscriptions, toGenericString, toStringDetailed, toStringHelper, unsubscribe
Methods inherited from interface com.illumon.iris.db.v2.locations.TableLocationState
copyStateValuesTo, getLastModifiedTimeMillis, getSize, getSizeStr, getStateLock, writeStateValuesTo
-
Method Details
-
visit
Description copied from interface:TableLocation
Mark this table location as visited, with the given (time)stamp.- Specified by:
visit
in 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:TableLocation
return the last value set inTableLocation.visit(long)
- Specified by:
getVisit
in interfaceTableLocation<CLT extends ColumnLocation>
- Returns:
- the last value set in visit()
-
toString
-
getImplementationName
Description copied from interface:NamedImplementation
Get a name for the implementing class. Useful for abstract classes that implement
LogOutputAppendable
or overridetoString
.The default implementation is correct, but not suitable for high-frequency usage.
- Specified by:
getImplementationName
in interfaceNamedImplementation
- Returns:
- A name for the implementing class
-
getInternalPartition
- Specified by:
getInternalPartition
in interfaceTableLocationKey
- Returns:
- The internal partition that encloses the identified table location, or null if none exists
-
getColumnPartition
- Specified by:
getColumnPartition
in interfaceTableLocationKey
- Returns:
- The column partition that encloses the identified table location, or null if none exists
-
getTableKey
- Specified by:
getTableKey
in interfaceTableLocation<CLT extends ColumnLocation>
- Returns:
- A TableKey instance for the enclosing table
-
getColumnLocation
- Specified by:
getColumnLocation
in 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.
-