public class RuleTerminalNode extends AbstractTerminalNode
Action
s on a
matched Rule
.Rule
,
Serialized FormModifier and Type | Class and Description |
---|---|
static class |
RuleTerminalNode.SortDeclarations |
PathEndNode.PathMemSpec
Modifier and Type | Field and Description |
---|---|
protected Declaration[] |
allDeclarations |
protected String |
consequenceName |
protected Declaration[] |
enabledDeclarations |
protected boolean |
fireDirect |
protected ObjectTypeNode.Id |
leftInputOtnId |
protected LeftTupleSinkNode |
nextTupleSinkNode |
protected LeftTupleSinkNode |
previousTupleSinkNode |
protected Declaration[] |
requiredDeclarations |
protected RuleImpl |
rule
The rule to invoke upon match.
|
protected Declaration[] |
salienceDeclarations |
protected GroupElement |
subrule
the subrule reference is needed to resolve declarations
because declarations may have different offsets in each subrule
|
protected int |
subruleIndex |
protected Declaration[][] |
timerDeclarations |
associations, hashcode, id, memoryId, partitionId, partitionsEnabled
Constructor and Description |
---|
RuleTerminalNode() |
RuleTerminalNode(int id,
LeftTupleSource source,
RuleImpl rule,
GroupElement subrule,
int subruleIndex,
BuildContext context) |
createMemory, createPeer, doRemove, getDeclaredMask, getInferredMask, getLeftInferredMask, getLeftTupleSource, getNegativeMask, getObjectTypeNode, getPathEndNodes, getPathMemSpec, getPathNodes, getPathNodes, getPositionInPath, getSinkPropagator, hasPathNode, initDeclaredMask, initInferredMask, initPathMemory, isInUse, isLeftTupleMemoryEnabled, isTerminalNodeOf, networkUpdated, resetPathMemSpec, setDeclaredMask, setInferredMask, setLeftTupleMemoryEnabled, setNegativeMask, setPartitionIdWithSinks, setPathEndNodes, unwrapTupleSource
addAssociation, addAssociation, getAssociatedRules, getAssociatedRuleSize, getAssociationsSize, getAssociationsSize, getId, getMemoryId, getPartitionId, getSinks, hashCode, initMemoryId, isAssociatedWith, isStreamMode, remove, removeAssociation, setId, setPartitionId, setPartitionsEnabled, setStreamMode, thisNodeEquals
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getAssociatedRuleSize, getAssociationsSize, getAssociationsSize, getId, getPartitionId, isAssociatedWith, thisNodeEquals
getMemoryId
calculatePathMemSpec, calculatePathMemSpec, hasConditionalBranchNode
protected RuleImpl rule
protected GroupElement subrule
protected int subruleIndex
protected Declaration[] allDeclarations
protected Declaration[] requiredDeclarations
protected Declaration[][] timerDeclarations
protected Declaration[] salienceDeclarations
protected Declaration[] enabledDeclarations
protected LeftTupleSinkNode previousTupleSinkNode
protected LeftTupleSinkNode nextTupleSinkNode
protected boolean fireDirect
protected transient ObjectTypeNode.Id leftInputOtnId
protected String consequenceName
public RuleTerminalNode()
public RuleTerminalNode(int id, LeftTupleSource source, RuleImpl rule, GroupElement subrule, int subruleIndex, BuildContext context)
public void setDeclarations(Map<String,Declaration> decls)
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
readExternal
in class AbstractTerminalNode
IOException
ClassNotFoundException
public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
writeExternal
in class AbstractTerminalNode
IOException
public RuleImpl getRule()
Action
associated with this node.getRule
in interface TerminalNode
getRule
in class AbstractTerminalNode
Action
associated with this node.public GroupElement getSubRule()
public static PropagationContext findMostRecentPropagationContext(Tuple leftTuple, PropagationContext context)
public void attach(BuildContext context)
BaseNode
ObjectSource
or TupleSource
public Declaration[] getAllDeclarations()
public Declaration[] getRequiredDeclarations()
public Declaration[][] getTimerDeclarations()
public Declaration[] getSalienceDeclarations()
public void setSalienceDeclarations(Declaration[] salienceDeclarations)
public Declaration[] getEnabledDeclarations()
public String getConsequenceName()
public void cancelMatch(AgendaItem match, InternalWorkingMemoryActions workingMemory)
public LeftTupleSinkNode getNextLeftTupleSinkNode()
public void setNextLeftTupleSinkNode(LeftTupleSinkNode next)
next
- The next TupleSinkNodepublic LeftTupleSinkNode getPreviousLeftTupleSinkNode()
public void setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
previous
- The previous TupleSinkNodeprotected boolean internalEquals(Object object)
internalEquals
in class BaseNode
public short getType()
public LeftTuple createLeftTuple(InternalFactHandle factHandle, LeftTuple leftTuple, Sink sink)
public LeftTuple createLeftTuple(InternalFactHandle factHandle, Sink sink, boolean leftTupleMemoryEnabled)
public LeftTuple createLeftTuple(LeftTuple leftTuple, Sink sink, PropagationContext pctx, boolean leftTupleMemoryEnabled)
public LeftTuple createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, Sink sink)
public LeftTuple createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, LeftTuple currentLeftChild, LeftTuple currentRightChild, Sink sink, boolean leftTupleMemoryEnabled)
public ObjectTypeNode.Id getLeftInputOtnId()
public void setLeftInputOtnId(ObjectTypeNode.Id leftInputOtnId)
public boolean isFireDirect()
public void setFireDirect(boolean fireDirect)
Copyright © 2001–2018 JBoss by Red Hat. All rights reserved.