Interface Tuple<T extends TupleImpl>

All Superinterfaces:
BaseTuple, DoubleLinkedEntry<TupleImpl>, Serializable, SingleLinkedEntry<TupleImpl>
All Known Implementing Classes:
EvalNodeLeftTuple, LeftTuple, NotNodeLeftTuple, ReactiveFromNodeLeftTuple, RightTuple, RuleTerminalNodeLeftTuple, SubnetworkTuple, TupleImpl, WindowTuple

public interface Tuple<T extends TupleImpl> extends BaseTuple, Serializable, DoubleLinkedEntry<TupleImpl>
Partial matches are propagated through the Rete network as Tuples. Each Tuple Is able to return the FactHandleImpl members of the partial match for the requested pattern. The pattern refers to the index position of the FactHandleImpl in the underlying implementation.
  • Field Details

  • Method Details

    • toObjects

      default Object[] toObjects()
      Specified by:
      toObjects in interface BaseTuple
    • setFactHandle

      void setFactHandle(FactHandle handle)
    • getOriginalFactHandle

      InternalFactHandle getOriginalFactHandle()
    • getSubTuple

      T getSubTuple(int elements)
      Returns the ReteTuple that contains the "elements" first elements in this tuple.

      Use carefully as no cloning is made during this process.

      This method is used by TupleStartEqualsConstraint when joining a subnetwork tuple into the main network tuple;

      Parameters:
      elements - the number of elements to return, starting from the begining of the tuple
      Returns:
      a ReteTuple containing the "elements" first elements of this tuple or null if "elements" is greater than size;
    • getContextObject

      Object getContextObject()
      Specified by:
      getContextObject in interface BaseTuple
    • setContextObject

      void setContextObject(Object object)
    • getStagedType

      short getStagedType()
    • setStagedType

      void setStagedType(short stagedType)
    • isDeleted

      default boolean isDeleted()
    • getStagedPrevious

      T getStagedPrevious()
    • setStagedPrevious

      void setStagedPrevious(T stagePrevious)
    • getStagedNext

      T getStagedNext()
    • setStagedNext

      void setStagedNext(T stageNext)
    • clear

      void clear()
      Specified by:
      clear in interface DoubleLinkedEntry<T extends TupleImpl>
    • clearStaged

      void clearStaged()
    • reAdd

      void reAdd()
    • unlinkFromRightParent

      void unlinkFromRightParent()
    • unlinkFromLeftParent

      void unlinkFromLeftParent()
    • getPropagationContext

      PropagationContext getPropagationContext()
    • setPropagationContext

      void setPropagationContext(PropagationContext propagationContext)
    • getSink

      Sink getSink()
    • getMemory

      TupleList getMemory()
    • setMemory

      void setMemory(TupleList memory)
    • getRootTuple

      T getRootTuple()
    • skipEmptyHandles

      T skipEmptyHandles()
      Specified by:
      skipEmptyHandles in interface BaseTuple
    • getFirstChild

      T getFirstChild()
    • setFirstChild

      void setFirstChild(T firstChild)
    • getLastChild

      T getLastChild()
    • setLastChild

      void setLastChild(T firstChild)
    • getParent

      T getParent()
      Specified by:
      getParent in interface BaseTuple
    • getHandlePrevious

      T getHandlePrevious()
    • setHandlePrevious

      void setHandlePrevious(T leftParentLeft)
    • getHandleNext

      T getHandleNext()
    • setHandleNext

      void setHandleNext(T leftParentright)
    • getInputOtnId

      ObjectTypeNodeId getInputOtnId()
    • isExpired

      boolean isExpired()
    • findMostRecentPropagationContext

      default PropagationContext findMostRecentPropagationContext()