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

## Interface Node

- All Known Subinterfaces:
    `Indexer`, `IterableIndexer`, `NetworkStructureChangeSensitiveNode`, `PosetAwareReceiver`, `ProductionNode`, `ProjectionIndexer`, `Receiver`, `RederivableNode`, `Supplier`, `Tunnel`
  All Known Implementing Classes:
    `AbstractColumnAggregatorNode`, `AbstractColumnAggregatorNode.AggregatorOuterIdentityIndexer`, `AbstractColumnAggregatorNode.AggregatorOuterIndexer`, `AbstractEvaluatorNode`, `AbstractUniquenessEnforcerNode`, `Bag`, `BaseNode`, `CallbackNode`, `ColumnAggregatorNode`, `ConstantNode`, `CountNode`, `DefaultDeltaMonitor`, `DefaultProductionNode`, `DeltaMonitor`, `DiscriminatorBucketNode`, `DiscriminatorDispatcherNode`, `DualInputNode`, `EqualityFilterNode`, `ExistenceNode`, `ExternalInputEnumeratorNode`, `ExternalInputStatelessFilterNode`, `FilterNode`, `GenericProjectionIndexer`, `IdentityIndexer`, `IndexerBasedAggregatorNode`, `IndexerWithMemory`, `InequalityFilterNode`, `JoinNode`, `MemoryIdentityIndexer`, `MemorylessEvaluatorNode`, `MemoryNullIndexer`, `NullIndexer`, `OnetimeIndexer`, `OutputCachingEvaluatorNode`, `RelationEvaluatorNode`, `RelationEvaluatorNode.BatchingReceiver`, `RemoteReceiver`, `RemoteSupplier`, `RetePatternMatcher`, `SimpleReceiver`, `SingleInputNode`, `SpecializedProjectionIndexer`, `StandardIndexer`, `StandardNode`, `TimelyProductionNode`, `TimelyUniquenessEnforcerNode`, `TransformerNode`, `TransitiveClosureNode`, `TransitiveClosureNodeIndexer`, `TransparentNode`, `TrimmerNode`, `UniquenessEnforcerNode`, `ValueBinderFilterNode`

      public interface Node

  A node of a rete network, should be uniquely identified by network and nodeId. NodeId can be requested by registering at the Network on construction.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `acceptPropagatedTraceInfo​(TraceInfo traceInfo)` | accepts traceability info propagated to this node
    `void` | `assignTraceInfo​(TraceInfo traceInfo)` | assigns new traceability info to this node
    `default CommunicationTracker` | `getCommunicationTracker()` |
    `ReteContainer` | `getContainer()` |
    `long` | `getNodeId()` |
    `java.lang.Object` | `getTag()` |
    `java.util.Set<TraceInfo>` | `getTraceInfos()` |
    `void` | `setTag​(java.lang.Object tag)` | Assigns a descriptive tag to the node

- - ### Method Detail

    - #### getContainer

          ReteContainer getContainer()

      Returns:
        the network this node belongs to.

    - #### getNodeId

          long getNodeId()

      Returns:
        the identifier unique to this node within the network.

    - #### setTag

          void setTag​(java.lang.Object tag)

      Assigns a descriptive tag to the node

    - #### getTag

          java.lang.Object getTag()

      Returns:
        the tag of the node

    - #### getTraceInfos

          java.util.Set<TraceInfo> getTraceInfos()

      Returns:
        unmodifiable view of the list of traceability infos assigned to this node

    - #### assignTraceInfo

          void assignTraceInfo​(TraceInfo traceInfo)

      assigns new traceability info to this node

    - #### acceptPropagatedTraceInfo

          void acceptPropagatedTraceInfo​(TraceInfo traceInfo)

      accepts traceability info propagated to this node

    - #### getCommunicationTracker

          default CommunicationTracker getCommunicationTracker()