Package com.illumon.iris.db.v2
Interface DynamicNode
- All Known Subinterfaces:
DynamicTable
- All Known Implementing Classes:
AppendOnlyArrayBackedMutableTable,BaseTable,ConnectionAwareRemoteTable,DeferredViewTable,FilteredTableMap,HierarchicalTable,InitialSnapshotTable,InMemoryTable,KeyedArrayBackedMutableTable,LastByTableImportState.ResultTableMap,LiveQueryTable,LocalTableMap,NestedPartitionedDiskBackedTable,PartitionAwareSourceTable,PreemptiveUpdatesTable,QueryReplayGroupedTable,QueryTable,QueryTable.FilteredTable,RedefinableTable,ReplayGroupedFullTable,ReplayLastByGroupedTable,ReplayTable,ReplicatedTable,ReverseLookupListener,SimpleSourceTable,SourceTable,SplayedDiskBackedTable,SubscriptionSnapshotTable,TableMapClient,TableMapImpl,TimeTable,UncoalescedTable,UpdatableTable,WrappedDelegatingTable
public interface DynamicNode
Interface for dynamic nodes in a query's directed acyclic graph.
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddParentReference(Object parent) Called on a dependent node to ensure that a strong reference is maintained to any parent object that is required for the proper maintenance and functioning of the dependent.static booleanisDynamicAndIsRefreshing(Object object) Determine if an object is a refreshingDynamicNode.static booleanisDynamicAndNotRefreshing(Object object) Determine if an object is aDynamicNodebut is not refreshing.booleanIs the node updating?static booleannotDynamicOrIsRefreshing(Object object) Determine if an object is either not aDynamicNode, or is a refreshingDynamicNode.static booleannotDynamicOrNotRefreshing(Object object) Determine if an object is not a refreshingDynamicNode.booleansetRefreshing(boolean refreshing) Change the node's refresh mode.
-
Method Details
-
isRefreshing
boolean isRefreshing()Is the node updating?- Returns:
- true if the node is updating; false otherwise.
-
setRefreshing
boolean setRefreshing(boolean refreshing) Change the node's refresh mode.- Parameters:
refreshing- true to cause the node to update; false otherwise.- Returns:
- new refreshing state
-
addParentReference
Called on a dependent node to ensure that a strong reference is maintained to any parent object that is required for the proper maintenance and functioning of the dependent. In the most common case, the parent object is a child listener to a parent node. The parent node only keeps a weak reference to its child listener, but the listener maintains a strong reference to the parent node. In this scenario, the only strong reference to the listener (and thus indirectly to the parent node itself) is the reference kept by the dependent node.- Parameters:
parent- A parent of this node
-
isDynamicAndIsRefreshing
Determine if an object is a refreshingDynamicNode.- Parameters:
object- The object- Returns:
- True if the object is a
DynamicNodeand itsisRefreshing()returns true, false otherwise
-
isDynamicAndNotRefreshing
Determine if an object is aDynamicNodebut is not refreshing.- Parameters:
object- The object- Returns:
- True if the object is a
DynamicNodeand itsisRefreshing()returns true, false otherwise
-
notDynamicOrNotRefreshing
Determine if an object is not a refreshingDynamicNode.- Parameters:
object- The object- Returns:
- True if the object is not a
DynamicNodeor itsisRefreshing()returns false, false otherwise
-
notDynamicOrIsRefreshing
Determine if an object is either not aDynamicNode, or is a refreshingDynamicNode.- Parameters:
object- The object- Returns:
- True if the object is not a
DynamicNodeor if itsisRefreshing()returns true, false otherwise
-