org.eclipse.viatra.query.runtime.rete.network

## Interface NetworkStructureChangeSensitiveNode

- All Superinterfaces:
    Node
  All Known Implementing Classes:
    AbstractColumnAggregatorNode, AbstractColumnAggregatorNode.AggregatorOuterIdentityIndexer, AbstractColumnAggregatorNode.AggregatorOuterIndexer, AbstractEvaluatorNode, AbstractUniquenessEnforcerNode, ColumnAggregatorNode, ConstantNode, CountNode, DefaultProductionNode, DiscriminatorBucketNode, DiscriminatorDispatcherNode, DualInputNode, EqualityFilterNode, ExistenceNode, ExternalInputEnumeratorNode, ExternalInputStatelessFilterNode, FilterNode, GenericProjectionIndexer, IdentityIndexer, IndexerBasedAggregatorNode, IndexerWithMemory, InequalityFilterNode, JoinNode, MemoryIdentityIndexer, MemorylessEvaluatorNode, MemoryNullIndexer, NullIndexer, OnetimeIndexer, OutputCachingEvaluatorNode, RemoteReceiver, RemoteSupplier, RetePatternMatcher, SingleInputNode, SpecializedProjectionIndexer, StandardIndexer, StandardNode, TimelyProductionNode, TimelyUniquenessEnforcerNode, TransformerNode, TransitiveClosureNode, TransitiveClosureNodeIndexer, TransparentNode, TrimmerNode, UniquenessEnforcerNode, ValueBinderFilterNode

      public interface NetworkStructureChangeSensitiveNode
      extends Node

  `Node`s implementing this interface are sensitive to changes in the dependency graph maintained by the `CommunicationTracker`. The `CommunicationTracker` notifies these nodes whenever the SCC of this node is affected by changes to the dependency graph. Depending on whether this node is contained in a recursive group or not, it may behave differently, and the `networkStructureChanged()` method can be used to perform changes in behavior.
  Since:
    2.3

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `networkStructureChanged()` At the time of the invocation, the dependency graph has already been updated.

    - ### Methods inherited from interface org.eclipse.viatra.query.runtime.rete.network.Node

      `acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTag`

- - ### Method Detail

    - #### networkStructureChanged

          void networkStructureChanged()

      At the time of the invocation, the dependency graph has already been updated.