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, 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 and 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()