Package io.deephaven.engine.updategraph
Interface DynamicNode
- All Known Subinterfaces:
IcebergTable
,LazySnapshotTable
,Table
,TableAdapter
,TableDefaults
- All Known Implementing Classes:
AppendOnlyArrayBackedInputTable
,BarrageBlinkTable
,BarrageMessageProducer
,BarrageRedirectedTable
,BarrageTable
,BaseTable
,DeferredViewTable
,IcebergTableImpl
,InMemoryTable
,KeyedArrayBackedInputTable
,PartitionAwareSourceTable
,QueryReplayGroupedTable
,QueryTable
,QueryTable.FilteredTable
,RedefinableTable
,ReplayGroupedFullTable
,ReplayLastByGroupedTable
,ReplayTable
,ReplayTableBase
,SimpleSourceTable
,SourceTable
,TimeTable
,UncoalescedTable
,UpdatableTable
,UpdateSourceQueryTable
public interface DynamicNode
Interface for dynamic nodes in a query's directed acyclic graph.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addParentReference
(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 boolean
isDynamicAndIsRefreshing
(Object object) Determine if an object is a refreshingDynamicNode
.static boolean
isDynamicAndNotRefreshing
(Object object) Determine if an object is aDynamicNode
but is not refreshing.boolean
Is the node updating?static boolean
notDynamicOrIsRefreshing
(Object object) Determine if an object is either not aDynamicNode
, or is a refreshingDynamicNode
.static boolean
notDynamicOrNotRefreshing
(Object object) Determine if an object is not a refreshingDynamicNode
.boolean
setRefreshing
(boolean refreshing) Change the node's run 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 run 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
DynamicNode
and itsisRefreshing()
returns true, false otherwise
-
isDynamicAndNotRefreshing
Determine if an object is aDynamicNode
but is not refreshing.- Parameters:
object
- The object- Returns:
- True if the object is a
DynamicNode
and 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
DynamicNode
or 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
DynamicNode
or if itsisRefreshing()
returns true, false otherwise
-