Package org.drools.core.reteoo
Class LeftTupleSource
- java.lang.Object
-
- org.drools.core.common.BaseNode
-
- org.drools.core.reteoo.LeftTupleSource
-
- All Implemented Interfaces:
java.io.Serializable
,org.drools.base.common.NetworkNode
,LeftTupleNode
- Direct Known Subclasses:
AsyncReceiveNode
,AsyncSendNode
,BetaNode
,ConditionalBranchNode
,EvalConditionNode
,FromNode
,LeftInputAdapterNode
,QueryElementNode
,TimerNode
public abstract class LeftTupleSource extends BaseNode implements LeftTupleNode
A source ofReteTuple
s for aTupleSink
.Nodes that propagate
Tuples
extend this class.- See Also:
LeftTupleSource
,LeftTuple
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected org.drools.core.util.bitmask.BitMask
leftDeclaredMask
protected org.drools.core.util.bitmask.BitMask
leftInferredMask
protected LeftTupleSource
leftInput
The left inputTupleSource
.protected org.drools.core.util.bitmask.BitMask
leftNegativeMask
protected LeftTupleSinkPropagator
sink
The destination forTuples
.-
Fields inherited from class org.drools.core.common.BaseNode
associations, hashcode, id, memoryId, partitionId, partitionsEnabled
-
-
Constructor Summary
Constructors Modifier Constructor Description LeftTupleSource()
protected
LeftTupleSource(int id, BuildContext context)
Single parameter constructor that specifies the unique id of the node.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addTupleSink(LeftTupleSink tupleSink)
protected LeftTupleSinkPropagator
addTupleSink(LeftTupleSinkPropagator sinkPropagator, LeftTupleSink tupleSink, BuildContext context)
void
addTupleSink(LeftTupleSink tupleSink, BuildContext context)
Adds theTupleSink
so that it may receiveTuples
propagated from thisTupleSource
.abstract LeftTuple
createPeer(LeftTuple original)
LeftTupleSinkNode
getFirstLeftTupleSinkIgnoreRemoving(TerminalNode removingTn)
org.drools.core.util.bitmask.BitMask
getLeftDeclaredMask()
org.drools.core.util.bitmask.BitMask
getLeftInferredMask()
ObjectTypeNode.Id
getLeftInputOtnId()
protected org.drools.base.rule.Pattern
getLeftInputPattern(BuildContext context)
org.drools.core.util.bitmask.BitMask
getLeftNegativeMask()
LeftTupleSource
getLeftTupleSource()
int
getObjectCount()
org.drools.base.base.ObjectType
getObjectType()
protected org.drools.base.base.ObjectType
getObjectTypeForPropertyReactivity(LeftInputAdapterNode leftInput, org.drools.base.rule.Pattern pattern)
int
getPathIndex()
LeftTupleSinkPropagator
getSinkPropagator()
abstract short
getType()
protected void
initDeclaredMask(BuildContext context, LeftTupleSource leftInput)
protected void
initInferredMask(LeftTupleSource leftInput)
protected void
initMasks(BuildContext context, LeftTupleSource leftInput)
boolean
isInUse()
Returns true in case the current node is in use (is referenced by any other node)abstract boolean
isLeftTupleMemoryEnabled()
void
removeTupleSink(LeftTupleSink tupleSink)
Removes theTupleSink
protected void
setLeftInferredMask(org.drools.core.util.bitmask.BitMask leftInferredMask)
void
setLeftInputOtnId(ObjectTypeNode.Id leftInputOtnId)
protected void
setLeftListenedProperties(java.util.Collection<java.lang.String> leftListenedProperties)
void
setLeftTupleSource(LeftTupleSource leftInput)
protected org.drools.core.util.bitmask.BitMask
setNodeConstraintsPropertyReactiveMask(org.drools.core.util.bitmask.BitMask mask, org.drools.base.base.ObjectType objectType, java.util.List<java.lang.String> accessibleProperties)
void
setObjectCount(int count)
void
setPartitionIdWithSinks(org.drools.base.common.RuleBasePartitionId partitionId)
protected void
setSourcePartitionId(BaseNode source, BuildContext context, org.drools.base.common.RuleBasePartitionId partitionId)
void
setSourcePartitionId(BuildContext context, org.drools.base.common.RuleBasePartitionId partitionId)
-
Methods inherited from class org.drools.core.common.BaseNode
addAssociatedTerminal, addAssociation, addAssociation, attach, doAttach, doRemove, getAssociatedRules, getAssociatedTerminalsSize, getAssociationsSize, getId, getMemoryId, getObjectTypeNode, getPartitionId, getSinks, hasAssociatedTerminal, hashCode, initMemoryId, isAssociatedWith, isStreamMode, networkUpdated, remove, removeAssociatedTerminal, removeAssociation, setId, setPartitionId, setPartitionsEnabled, setStreamMode, toString
-
-
-
-
Field Detail
-
leftDeclaredMask
protected org.drools.core.util.bitmask.BitMask leftDeclaredMask
-
leftInferredMask
protected org.drools.core.util.bitmask.BitMask leftInferredMask
-
leftNegativeMask
protected org.drools.core.util.bitmask.BitMask leftNegativeMask
-
leftInput
protected LeftTupleSource leftInput
The left inputTupleSource
.
-
sink
protected LeftTupleSinkPropagator sink
The destination forTuples
.
-
-
Constructor Detail
-
LeftTupleSource
public LeftTupleSource()
-
LeftTupleSource
protected LeftTupleSource(int id, BuildContext context)
Single parameter constructor that specifies the unique id of the node.- Parameters:
id
-
-
-
Method Detail
-
getPathIndex
public int getPathIndex()
- Specified by:
getPathIndex
in interfaceLeftTupleNode
-
getType
public abstract short getType()
- Specified by:
getType
in interfaceorg.drools.base.common.NetworkNode
-
addTupleSink
public void addTupleSink(LeftTupleSink tupleSink)
-
getLeftTupleSource
public LeftTupleSource getLeftTupleSource()
- Specified by:
getLeftTupleSource
in interfaceLeftTupleNode
-
setLeftTupleSource
public final void setLeftTupleSource(LeftTupleSource leftInput)
-
getObjectCount
public int getObjectCount()
- Specified by:
getObjectCount
in interfaceLeftTupleNode
-
setObjectCount
public void setObjectCount(int count)
- Specified by:
setObjectCount
in interfaceLeftTupleNode
-
addTupleSink
public void addTupleSink(LeftTupleSink tupleSink, BuildContext context)
Adds theTupleSink
so that it may receiveTuples
propagated from thisTupleSource
.- Parameters:
tupleSink
- TheTupleSink
to receive propagatedTuples
.
-
addTupleSink
protected LeftTupleSinkPropagator addTupleSink(LeftTupleSinkPropagator sinkPropagator, LeftTupleSink tupleSink, BuildContext context)
-
removeTupleSink
public void removeTupleSink(LeftTupleSink tupleSink)
Removes theTupleSink
- Parameters:
tupleSink
- TheTupleSink
to remove
-
getFirstLeftTupleSinkIgnoreRemoving
public LeftTupleSinkNode getFirstLeftTupleSinkIgnoreRemoving(TerminalNode removingTn)
-
getSinkPropagator
public LeftTupleSinkPropagator getSinkPropagator()
- Specified by:
getSinkPropagator
in interfaceLeftTupleNode
-
setSourcePartitionId
public void setSourcePartitionId(BuildContext context, org.drools.base.common.RuleBasePartitionId partitionId)
-
setSourcePartitionId
protected void setSourcePartitionId(BaseNode source, BuildContext context, org.drools.base.common.RuleBasePartitionId partitionId)
-
setPartitionIdWithSinks
public final void setPartitionIdWithSinks(org.drools.base.common.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)
-
initMasks
protected final void initMasks(BuildContext context, LeftTupleSource leftInput)
-
initDeclaredMask
protected void initDeclaredMask(BuildContext context, LeftTupleSource leftInput)
-
setNodeConstraintsPropertyReactiveMask
protected org.drools.core.util.bitmask.BitMask setNodeConstraintsPropertyReactiveMask(org.drools.core.util.bitmask.BitMask mask, org.drools.base.base.ObjectType objectType, java.util.List<java.lang.String> accessibleProperties)
-
getLeftInputPattern
protected org.drools.base.rule.Pattern getLeftInputPattern(BuildContext context)
-
getObjectTypeForPropertyReactivity
protected org.drools.base.base.ObjectType getObjectTypeForPropertyReactivity(LeftInputAdapterNode leftInput, org.drools.base.rule.Pattern pattern)
-
setLeftListenedProperties
protected void setLeftListenedProperties(java.util.Collection<java.lang.String> leftListenedProperties)
-
initInferredMask
protected void initInferredMask(LeftTupleSource leftInput)
-
getLeftDeclaredMask
public org.drools.core.util.bitmask.BitMask getLeftDeclaredMask()
-
getLeftInferredMask
public org.drools.core.util.bitmask.BitMask getLeftInferredMask()
-
setLeftInferredMask
protected void setLeftInferredMask(org.drools.core.util.bitmask.BitMask leftInferredMask)
-
getLeftNegativeMask
public org.drools.core.util.bitmask.BitMask getLeftNegativeMask()
-
getLeftInputOtnId
public ObjectTypeNode.Id getLeftInputOtnId()
-
setLeftInputOtnId
public void setLeftInputOtnId(ObjectTypeNode.Id leftInputOtnId)
-
getObjectType
public org.drools.base.base.ObjectType getObjectType()
-
isLeftTupleMemoryEnabled
public abstract boolean isLeftTupleMemoryEnabled()
-
-