Class DualInputNode

All Implemented Interfaces:
NetworkStructureChangeSensitiveNode, Node, Supplier
Direct Known Subclasses:
ExistenceNode, JoinNode

public abstract class DualInputNode extends StandardNode implements NetworkStructureChangeSensitiveNode
Abstract superclass for nodes with two inputs that are matched against each other.
  • Field Details

    • logic

      Since:
      2.3
    • primarySlot

      protected IterableIndexer primarySlot
      Holds the primary input slot of this node.
    • secondarySlot

      protected Indexer secondarySlot
      Holds the secondary input slot of this node.
    • complementerSecondaryMask

      protected TupleMask complementerSecondaryMask
      Optional complementer mask
    • coincidence

      protected boolean coincidence
      true if the primary and secondary slots coincide
    • indexerGroupCache

      protected Map<Indexer,Boolean> indexerGroupCache
      This map caches the result of a CommunicationTracker.areInSameGroup(indexer, this) call. It does that for both the primary and secondary slots. This way we can avoid the lookup in the getWithTimestamp call for each tuple. The cache needs to be maintained when the network structure changes.
      Since:
      2.3
  • Constructor Details

    • DualInputNode

      public DualInputNode(ReteContainer reteContainer, TupleMask complementerSecondaryMask)
      Parameters:
      reteContainer -
  • Method Details