Class LeftTupleSource

java.lang.Object
org.drools.core.common.BaseNode
org.drools.core.reteoo.LeftTupleSource
All Implemented Interfaces:
Serializable, NetworkNode, LeftTupleNode
Direct Known Subclasses:
AsyncReceiveNode, AsyncSendNode, BetaNode, ConditionalBranchNode, EvalConditionNode, FromNode, LeftInputAdapterNode, QueryElementNode, TimerNode

public abstract class LeftTupleSource extends BaseNode implements LeftTupleNode
A source of ReteTuple s for a TupleSink.

Nodes that propagate Tuples extend this class.

See Also:
  • Field Details

    • leftDeclaredMask

      protected org.drools.util.bitmask.BitMask leftDeclaredMask
    • leftInferredMask

      protected org.drools.util.bitmask.BitMask leftInferredMask
    • leftNegativeMask

      protected org.drools.util.bitmask.BitMask leftNegativeMask
    • leftInput

      protected LeftTupleSource leftInput
      The left input TupleSource.
    • sink

      protected LeftTupleSinkPropagator sink
      The destination for Tuples.
  • Constructor Details

    • LeftTupleSource

      public LeftTupleSource()
    • LeftTupleSource

      protected LeftTupleSource(int id, BuildContext context)
      Single parameter constructor that specifies the unique id of the node.
      Parameters:
      id -
  • Method Details

    • getPathIndex

      public int getPathIndex()
      Specified by:
      getPathIndex in interface LeftTupleNode
    • getType

      public abstract int getType()
      Specified by:
      getType in interface NetworkNode
    • getLeftInputOtnId

      public ObjectTypeNodeId getLeftInputOtnId()
    • setLeftInputOtnId

      public void setLeftInputOtnId(ObjectTypeNodeId leftInputOtnId)
    • addTupleSink

      public void addTupleSink(LeftTupleSink tupleSink)
    • getLeftTupleSource

      public LeftTupleSource getLeftTupleSource()
      Specified by:
      getLeftTupleSource in interface LeftTupleNode
    • setLeftTupleSource

      public final void setLeftTupleSource(LeftTupleSource leftInput)
    • getObjectCount

      public int getObjectCount()
      Specified by:
      getObjectCount in interface LeftTupleNode
    • setObjectCount

      public void setObjectCount(int count)
      Specified by:
      setObjectCount in interface LeftTupleNode
    • addTupleSink

      public void addTupleSink(LeftTupleSink tupleSink, BuildContext context)
      Adds the TupleSink so that it may receive Tuples propagated from this TupleSource.
      Parameters:
      tupleSink - The TupleSink to receive propagated Tuples.
    • addTupleSink

      protected LeftTupleSinkPropagator addTupleSink(LeftTupleSinkPropagator sinkPropagator, LeftTupleSink tupleSink, BuildContext context)
    • removeTupleSink

      public void removeTupleSink(LeftTupleSink tupleSink)
      Removes the TupleSink
      Parameters:
      tupleSink - The TupleSink to remove
    • getFirstLeftTupleSinkIgnoreRemoving

      public LeftTupleSinkNode getFirstLeftTupleSinkIgnoreRemoving(TerminalNode removingTn)
    • getSinkPropagator

      public LeftTupleSinkPropagator getSinkPropagator()
      Specified by:
      getSinkPropagator in interface LeftTupleNode
    • setSourcePartitionId

      public void setSourcePartitionId(BuildContext context, RuleBasePartitionId partitionId)
    • setSourcePartitionId

      protected void setSourcePartitionId(BaseNode source, BuildContext context, RuleBasePartitionId partitionId)
    • setPartitionIdWithSinks

      public final void setPartitionIdWithSinks(RuleBasePartitionId partitionId)
    • isInUse

      public boolean isInUse()
      Description copied from class: BaseNode
      Returns true in case the current node is in use (is referenced by any other node)
      Specified by:
      isInUse in class BaseNode
    • initMasks

      protected final void initMasks(BuildContext context, LeftTupleSource leftInput)
    • initDeclaredMask

      protected void initDeclaredMask(BuildContext context, LeftTupleSource leftInput)
    • setNodeConstraintsPropertyReactiveMask

      protected org.drools.util.bitmask.BitMask setNodeConstraintsPropertyReactiveMask(org.drools.util.bitmask.BitMask mask, ObjectType objectType, List<String> accessibleProperties)
    • getLeftInputPattern

      protected Pattern getLeftInputPattern(BuildContext context)
    • getObjectTypeForPropertyReactivity

      protected ObjectType getObjectTypeForPropertyReactivity(LeftInputAdapterNode leftInput, Pattern pattern)
    • setLeftListenedProperties

      protected void setLeftListenedProperties(Collection<String> leftListenedProperties)
    • initInferredMask

      protected void initInferredMask(LeftTupleSource leftInput)
    • getLeftDeclaredMask

      public org.drools.util.bitmask.BitMask getLeftDeclaredMask()
    • getLeftInferredMask

      public org.drools.util.bitmask.BitMask getLeftInferredMask()
    • setLeftInferredMask

      protected void setLeftInferredMask(org.drools.util.bitmask.BitMask leftInferredMask)
    • getLeftNegativeMask

      public org.drools.util.bitmask.BitMask getLeftNegativeMask()
    • getObjectType

      public ObjectType getObjectType()
    • isLeftTupleMemoryEnabled

      public abstract boolean isLeftTupleMemoryEnabled()