org.eclipse.viatra.query.runtime.rete.index

## Class JoinNode

- 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.index.DualInputNode
      - - org.eclipse.viatra.query.runtime.rete.index.JoinNode

- All Implemented Interfaces:
    NetworkStructureChangeSensitiveNode, Node, Supplier

      public class JoinNode
      extends DualInputNode

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.eclipse.viatra.query.runtime.rete.index.DualInputNode

      `DualInputNode.NetworkStructureChangeSensitiveLogic, DualInputNode.Side`

  - ### Field Summary

    - ### Fields inherited from class org.eclipse.viatra.query.runtime.rete.index.DualInputNode

      `coincidence, complementerSecondaryMask, indexerGroupCache, logic, primarySlot, secondarySlot`

    - ### 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
    `JoinNode(ReteContainer reteContainer, TupleMask complementerSecondaryMask)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Tuple` | `calibrate(Tuple primary, Tuple secondary)` Simulates the behavior of the node for calibration purposes only.
    `protected DualInputNode.NetworkStructureChangeSensitiveLogic` | `createTimelessLogic()`
    `protected DualInputNode.NetworkStructureChangeSensitiveLogic` | `createTimelyLogic()`

    - ### Methods inherited from class org.eclipse.viatra.query.runtime.rete.index.DualInputNode

      `assignTraceInfo, connectToIndexers, createLogic, getPrimarySlot, getSecondarySlot, getSlot, getTimeline, networkStructureChanged, pullInto, pullIntoWithTimeline, refreshIndexerGroupCache, retrieveOpposites, setComplementerSecondaryMask, unify, unify`

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

      `appendChild, constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, 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.Node

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

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

      `getPulledContents`

- - ### Constructor Detail

    - #### JoinNode

          public JoinNode(ReteContainer reteContainer,
                          TupleMask complementerSecondaryMask)

  - ### Method Detail

    - #### calibrate

          public Tuple calibrate(Tuple primary,
                                 Tuple secondary)

      Description copied from class: `DualInputNode`
      Simulates the behavior of the node for calibration purposes only.
      Specified by:
        `calibrate` in class `DualInputNode`

    - #### createTimelessLogic

          protected DualInputNode.NetworkStructureChangeSensitiveLogic createTimelessLogic()

      Specified by:
        `createTimelessLogic` in class `DualInputNode`

    - #### createTimelyLogic

          protected DualInputNode.NetworkStructureChangeSensitiveLogic createTimelyLogic()

      Specified by:
        `createTimelyLogic` in class `DualInputNode`