org.drools.core.reteoo
Class RuleTerminalNode
java.lang.Object
org.drools.core.common.BaseNode
org.drools.core.reteoo.AbstractTerminalNode
org.drools.core.reteoo.RuleTerminalNode
- All Implemented Interfaces:
- Externalizable, Serializable, MemoryFactory, NetworkNode, LeftTupleSink, LeftTupleSinkNode, Sink, TerminalNode
public class RuleTerminalNode
- extends AbstractTerminalNode
Leaf Rete-OO node responsible for enacting Action s on a
matched Rule.
- See Also:
org.kie.rule.Rule,
Serialized Form
|
Method Summary |
void |
assertLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
Assert a new ReteTuple. |
void |
attach(BuildContext context)
Attaches the node into the network. |
LeftTuple |
createLeftTuple(InternalFactHandle factHandle,
LeftTuple leftTuple,
LeftTupleSink sink)
|
LeftTuple |
createLeftTuple(InternalFactHandle factHandle,
LeftTupleSink sink,
boolean leftTupleMemoryEnabled)
|
LeftTuple |
createLeftTuple(LeftTuple leftTuple,
LeftTupleSink sink,
PropagationContext pctx,
boolean leftTupleMemoryEnabled)
|
LeftTuple |
createLeftTuple(LeftTuple leftTuple,
RightTuple rightTuple,
LeftTuple currentLeftChild,
LeftTuple currentRightChild,
LeftTupleSink sink,
boolean leftTupleMemoryEnabled)
|
LeftTuple |
createLeftTuple(LeftTuple leftTuple,
RightTuple rightTuple,
LeftTupleSink sink)
|
protected void |
doCollectAncestors(NodeSet nodeSet)
|
protected void |
doRemove(RuleRemovalContext context,
ReteooBuilder builder,
InternalWorkingMemory[] workingMemories)
Removes the node from teh network. |
boolean |
equals(Object object)
|
static PropagationContext |
findMostRecentPropagationContext(LeftTuple leftTuple,
PropagationContext context)
|
String |
getConsequenceName()
|
Declaration[] |
getDeclarations()
|
Declaration[] |
getEnabledDeclarations()
|
ObjectTypeNode.Id |
getLeftInputOtnId()
|
LeftTupleSinkNode |
getNextLeftTupleSinkNode()
Returns the next node |
protected ObjectTypeNode |
getObjectTypeNode()
|
LeftTupleSinkNode |
getPreviousLeftTupleSinkNode()
Returns the previous node |
Rule |
getRule()
Retrieve the Action associated with this node. |
Declaration[] |
getSalienceDeclarations()
|
GroupElement |
getSubRule()
|
Declaration[] |
getTimerDelayDeclarations()
|
Declaration[] |
getTimerPeriodDeclarations()
|
short |
getType()
|
int |
hashCode()
The hashCode return is simply the unique id of the node. |
boolean |
isFireDirect()
|
boolean |
isInUse()
Returns true in case the current node is in use (is referenced by any other node) |
boolean |
isLeftTupleMemoryEnabled()
|
void |
modifyLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
|
void |
networkUpdated(UpdateContext updateContext)
A method that is called for all nodes whose network below them
changed, after the change is complete, providing them with an oportunity
for state update |
void |
readExternal(ObjectInput in)
|
void |
retractLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
|
void |
setConsequenceName(String consequenceName)
|
void |
setDeclarations(Map<String,Declaration> decls)
|
void |
setEnabledDeclarations(Declaration[] enabledDeclarations)
|
void |
setFireDirect(boolean fireDirect)
|
void |
setLeftInputOtnId(ObjectTypeNode.Id leftInputOtnId)
|
void |
setLeftTupleMemoryEnabled(boolean tupleMemoryEnabled)
|
void |
setNextLeftTupleSinkNode(LeftTupleSinkNode next)
Sets the next node |
void |
setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
Sets the previous node |
void |
setSalienceDeclarations(Declaration[] salienceDeclarations)
|
void |
setTimerDelayDeclarations(Declaration[] timerDelayDeclarations)
|
void |
setTimerPeriodDeclarations(Declaration[] timerPeriodDeclarations)
|
String |
toString()
|
void |
writeExternal(ObjectOutput out)
|
| Methods inherited from class org.drools.core.reteoo.AbstractTerminalNode |
createMemory, createPeer, getDeclaredMask, getInferredMask, getLeftInferredMask, getLeftTupleSource, getNegativeMask, initDeclaredMask, initInferredMask, initPathMemory, modifyLeftTuple, setDeclaredMask, setInferredMask, setNegativeMask, unwrapTupleSource |
| Methods inherited from class org.drools.core.common.BaseNode |
addAssociation, attach, collectAncestors, getAssociations, getId, getPartitionId, isStreamMode, remove, removeAssociation, setId, setPartitionId |
RuleTerminalNode
public RuleTerminalNode()
RuleTerminalNode
public RuleTerminalNode(int id,
LeftTupleSource source,
Rule rule,
GroupElement subrule,
int subruleIndex,
BuildContext context)
- Parameters:
id - source - rule - subrule - subruleIndex - context -
setDeclarations
public void setDeclarations(Map<String,Declaration> decls)
readExternal
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
- Specified by:
readExternal in interface Externalizable- Overrides:
readExternal in class AbstractTerminalNode
- Throws:
IOException
ClassNotFoundException
writeExternal
public void writeExternal(ObjectOutput out)
throws IOException
- Specified by:
writeExternal in interface Externalizable- Overrides:
writeExternal in class AbstractTerminalNode
- Throws:
IOException
getRule
public Rule getRule()
- Retrieve the
Action associated with this node.
- Specified by:
getRule in interface TerminalNode- Specified by:
getRule in class AbstractTerminalNode
- Returns:
- The
Action associated with this node.
getSubRule
public GroupElement getSubRule()
assertLeftTuple
public void assertLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
- Description copied from interface:
LeftTupleSink
- Assert a new
ReteTuple.
- Parameters:
leftTuple - The ReteTuple to propagate.context - The PropagationContext of the WorkingMemory actionworkingMemory - the WorkingMemory session.
findMostRecentPropagationContext
public static PropagationContext findMostRecentPropagationContext(LeftTuple leftTuple,
PropagationContext context)
modifyLeftTuple
public void modifyLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
retractLeftTuple
public void retractLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
toString
public String toString()
- Overrides:
toString in class BaseNode
attach
public void attach(BuildContext context)
- Description copied from class:
BaseNode
- Attaches the node into the network. Usually to the parent
ObjectSource or TupleSource
- Specified by:
attach in class BaseNode
networkUpdated
public void networkUpdated(UpdateContext updateContext)
- Description copied from class:
BaseNode
- A method that is called for all nodes whose network below them
changed, after the change is complete, providing them with an oportunity
for state update
- Specified by:
networkUpdated in class BaseNode
doRemove
protected void doRemove(RuleRemovalContext context,
ReteooBuilder builder,
InternalWorkingMemory[] workingMemories)
- Description copied from class:
BaseNode
- Removes the node from teh network. Usually from the parent
ObjectSource or TupleSource
- Specified by:
doRemove in class BaseNode
doCollectAncestors
protected void doCollectAncestors(NodeSet nodeSet)
- Specified by:
doCollectAncestors in class BaseNode
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
- Returns:
isLeftTupleMemoryEnabled
public boolean isLeftTupleMemoryEnabled()
setLeftTupleMemoryEnabled
public void setLeftTupleMemoryEnabled(boolean tupleMemoryEnabled)
getDeclarations
public Declaration[] getDeclarations()
getTimerDelayDeclarations
public Declaration[] getTimerDelayDeclarations()
setTimerDelayDeclarations
public void setTimerDelayDeclarations(Declaration[] timerDelayDeclarations)
getTimerPeriodDeclarations
public Declaration[] getTimerPeriodDeclarations()
setTimerPeriodDeclarations
public void setTimerPeriodDeclarations(Declaration[] timerPeriodDeclarations)
getSalienceDeclarations
public Declaration[] getSalienceDeclarations()
setSalienceDeclarations
public void setSalienceDeclarations(Declaration[] salienceDeclarations)
getEnabledDeclarations
public Declaration[] getEnabledDeclarations()
setEnabledDeclarations
public void setEnabledDeclarations(Declaration[] enabledDeclarations)
getConsequenceName
public String getConsequenceName()
setConsequenceName
public void setConsequenceName(String consequenceName)
getNextLeftTupleSinkNode
public LeftTupleSinkNode getNextLeftTupleSinkNode()
- Returns the next node
- Returns:
- The next TupleSinkNode
setNextLeftTupleSinkNode
public void setNextLeftTupleSinkNode(LeftTupleSinkNode next)
- Sets the next node
- Parameters:
next - The next TupleSinkNode
getPreviousLeftTupleSinkNode
public LeftTupleSinkNode getPreviousLeftTupleSinkNode()
- Returns the previous node
- Returns:
- The previous TupleSinkNode
setPreviousLeftTupleSinkNode
public void setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
- Sets the previous node
- Parameters:
previous - The previous TupleSinkNode
hashCode
public int hashCode()
- Description copied from class:
BaseNode
- The hashCode return is simply the unique id of the node. It is expected that base classes will also implement equals(Object object).
- Overrides:
hashCode in class BaseNode
equals
public boolean equals(Object object)
- Overrides:
equals in class Object
getType
public short getType()
createLeftTuple
public LeftTuple createLeftTuple(InternalFactHandle factHandle,
LeftTuple leftTuple,
LeftTupleSink sink)
createLeftTuple
public LeftTuple createLeftTuple(InternalFactHandle factHandle,
LeftTupleSink sink,
boolean leftTupleMemoryEnabled)
createLeftTuple
public LeftTuple createLeftTuple(LeftTuple leftTuple,
LeftTupleSink sink,
PropagationContext pctx,
boolean leftTupleMemoryEnabled)
createLeftTuple
public LeftTuple createLeftTuple(LeftTuple leftTuple,
RightTuple rightTuple,
LeftTupleSink sink)
createLeftTuple
public LeftTuple createLeftTuple(LeftTuple leftTuple,
RightTuple rightTuple,
LeftTuple currentLeftChild,
LeftTuple currentRightChild,
LeftTupleSink sink,
boolean leftTupleMemoryEnabled)
getLeftInputOtnId
public ObjectTypeNode.Id getLeftInputOtnId()
setLeftInputOtnId
public void setLeftInputOtnId(ObjectTypeNode.Id leftInputOtnId)
isFireDirect
public boolean isFireDirect()
setFireDirect
public void setFireDirect(boolean fireDirect)
getObjectTypeNode
protected ObjectTypeNode getObjectTypeNode()
Copyright © 2001-2013 JBoss by Red Hat. All Rights Reserved.