org.eclipse.viatra.query.runtime.rete.eval

## Class AbstractEvaluatorNode

- java.lang.Object
- - org.eclipse.viatra.query.runtime.rete.network.BaseNode
  - - org.eclipse.viatra.query.runtime.rete.network.StandardNode
    - - org.eclipse.viatra.query.runtime.rete.single.SingleInputNode
      - - org.eclipse.viatra.query.runtime.rete.eval.AbstractEvaluatorNode

- All Implemented Interfaces:
    IEvaluatorNode, NetworkStructureChangeSensitiveNode, Node, Receiver, Supplier, Tunnel
  Direct Known Subclasses:
    MemorylessEvaluatorNode, OutputCachingEvaluatorNode

      public abstract class AbstractEvaluatorNode
      extends SingleInputNode
      implements IEvaluatorNode

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected EvaluatorCore` | `core`

    - ### Fields inherited from class org.eclipse.viatra.query.runtime.rete.single.SingleInputNode

      `mailbox, parent`

    - ### Fields inherited from class org.eclipse.viatra.query.runtime.rete.network.StandardNode

      `childMailboxes, children`

    - ### Fields inherited from class org.eclipse.viatra.query.runtime.rete.network.BaseNode

      `nodeId, reteContainer, tag, traceInfos`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractEvaluatorNode(ReteContainer reteContainer, EvaluatorCore core)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ReteContainer` | `getReteContainer()`
    `java.lang.String` | `prettyPrintTraceInfoPatternList()`
    `protected void` | `propagateIterableUpdate(Direction direction, java.lang.Iterable<Tuple> update, Timestamp timestamp)`

    - ### Methods inherited from class org.eclipse.viatra.query.runtime.rete.single.SingleInputNode

      `appendParent, assignTraceInfo, getCommunicationTracker, getMailbox, getParents, instantiateMailbox, propagatePullInto, propagatePullIntoWithTimestamp, removeParent`

    - ### Methods inherited from class org.eclipse.viatra.query.runtime.rete.network.StandardNode

      `appendChild, constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, networkStructureChanged, propagateUpdate, removeChild`

    - ### Methods inherited from class org.eclipse.viatra.query.runtime.rete.network.BaseNode

      `acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCore`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

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

      `appendChild, constructIndex, getPulledContents, getPulledContents, getReceivers, pullInto, pullIntoWithTimeline, removeChild`

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

      `update`

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

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

- - ### Field Detail

    - #### core

          protected EvaluatorCore core

      Since:
        1.5

  - ### Constructor Detail

    - #### AbstractEvaluatorNode

          public AbstractEvaluatorNode(ReteContainer reteContainer,
                                       EvaluatorCore core)

      Since:
        1.5

  - ### Method Detail

    - #### getReteContainer

          public ReteContainer getReteContainer()

      Specified by:
        `getReteContainer` in interface `IEvaluatorNode`
      Since:
        1.5

    - #### prettyPrintTraceInfoPatternList

          public java.lang.String prettyPrintTraceInfoPatternList()

      Specified by:
        `prettyPrintTraceInfoPatternList` in interface `IEvaluatorNode`
      Since:
        1.5

    - #### propagateIterableUpdate

          protected void propagateIterableUpdate(Direction direction,
                                                 java.lang.Iterable<Tuple> update,
                                                 Timestamp timestamp)

      Since:
        2.4