java.lang.Object
org.apache.jena.reasoner.rulesys.impl.RETEQueue
All Implemented Interfaces:
RETENode, RETESinkNode, RETESourceNode

public class RETEQueue extends Object implements RETESinkNode, RETESourceNode
Represents one input left of a join node. The queue points to a sibling queue representing the other leg which should be joined against.
  • Constructor Details

    • RETEQueue

      public RETEQueue(byte[] matchIndices)
      Constructor. The queue is not usable until it has been bound to a sibling and a continuation node.
      Parameters:
      matchIndices - set of variable indices which should match between the two inputs
    • RETEQueue

      public RETEQueue(List<? extends Byte> matchIndexList)
      Constructor. The queue is not usable until it has been bound to a sibling and a continuation node.
      Parameters:
      matchIndexList - List of variable indices which should match between the two inputs
  • Method Details

    • setSibling

      public void setSibling(RETEQueue sibling)
      Set the sibling for this node.
    • setContinuation

      public void setContinuation(RETESinkNode continuation)
      Set the continuation node for this node (and any sibling)
      Specified by:
      setContinuation in interface RETESourceNode
    • fire

      public void fire(BindingVector env, boolean isAdd)
      Propagate a token to this node.
      Specified by:
      fire in interface RETESinkNode
      Parameters:
      env - a set of variable bindings for the rule being processed.
      isAdd - distinguishes between add and remove operations.
    • clone

      public RETENode clone(Map<RETENode,RETENode> netCopy, RETERuleContext context)
      Clone this node in the network.
      Specified by:
      clone in interface RETENode
      Parameters:
      context - the new context to which the network is being ported
      netCopy - a map from RETENodes to cloned instance so far.