|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.drools.common.BaseNode
org.drools.reteoo.RuleTerminalNode
public class RuleTerminalNode
Leaf Rete-OO node responsible for enacting Action
s on a
matched Rule
.
Rule
,
Serialized FormNested Class Summary | |
---|---|
static class |
RuleTerminalNode.RTNCleanupAdapter
|
static class |
RuleTerminalNode.SortDeclarations
|
Field Summary |
---|
Fields inherited from class org.drools.common.BaseNode |
---|
associations, id, partitionId, partitionsEnabled |
Constructor Summary | |
---|---|
RuleTerminalNode()
|
|
RuleTerminalNode(int id,
LeftTupleSource source,
Rule rule,
GroupElement subrule,
int subruleIndex,
BuildContext context)
Construct. |
Method Summary | |
---|---|
void |
assertLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
Assert a new ReteTuple . |
void |
attach()
Attaches the node into the network. |
void |
attach(InternalWorkingMemory[] workingMemories)
|
LeftTuple |
createLeftTuple(InternalFactHandle factHandle,
LeftTupleSink sink,
boolean leftTupleMemoryEnabled)
|
LeftTuple |
createLeftTuple(LeftTuple leftTuple,
LeftTupleSink sink,
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 |
doRemove(RuleRemovalContext context,
ReteooBuilder builder,
BaseNode node,
InternalWorkingMemory[] workingMemories)
Removes the node from teh network. |
boolean |
equals(Object object)
|
Declaration[] |
getDeclarations()
|
Declaration[] |
getEnabledDeclarations()
|
LeftTupleSource |
getLeftTupleSource()
|
LeftTupleSinkNode |
getNextLeftTupleSinkNode()
Returns the next node |
LeftTupleSinkNode |
getPreviousLeftTupleSinkNode()
Returns the previous node |
Rule |
getRule()
Retrieve the Action associated with this node. |
Declaration[] |
getSalienceDeclarations()
|
int |
getSequence()
|
GroupElement |
getSubRule()
|
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(InternalFactHandle factHandle,
ModifyPreviousTuples modifyPreviousTuples,
PropagationContext context,
InternalWorkingMemory workingMemory)
|
void |
modifyLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
|
void |
networkUpdated()
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 |
ruleAttached()
|
void |
setDeclarations(Map<String,Declaration> decls)
|
void |
setEnabledDeclarations(Declaration[] enabledDeclarations)
|
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 |
setSequence(int seq)
|
String |
toString()
|
void |
writeExternal(ObjectOutput out)
|
Methods inherited from class org.drools.common.BaseNode |
---|
addAssociation, getAssociations, getId, getPartitionId, remove, removeAssociation, setPartitionId |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.drools.common.NetworkNode |
---|
getId, getPartitionId |
Constructor Detail |
---|
public RuleTerminalNode()
public RuleTerminalNode(int id, LeftTupleSource source, Rule rule, GroupElement subrule, int subruleIndex, BuildContext context)
inputSource
- The parent tuple source.rule
- The rule.subruleIndex
- Method Detail |
---|
public void setDeclarations(Map<String,Declaration> decls)
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
readExternal
in class BaseNode
IOException
ClassNotFoundException
public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
writeExternal
in class BaseNode
IOException
public Rule getRule()
Action
associated with this node.
Action
associated with this node.public GroupElement getSubRule()
public void setSequence(int seq)
public int getSequence()
public LeftTupleSource getLeftTupleSource()
getLeftTupleSource
in interface LeftTupleSink
getLeftTupleSource
in interface TerminalNode
public void assertLeftTuple(LeftTuple leftTuple, PropagationContext context, InternalWorkingMemory workingMemory)
LeftTupleSink
ReteTuple
.
assertLeftTuple
in interface LeftTupleSink
leftTuple
- The ReteTuple
to propagate.context
- The PropagationContext
of the WorkingMemory actionworkingMemory
- the WorkingMemory
session.
public void modifyLeftTuple(LeftTuple leftTuple, PropagationContext context, InternalWorkingMemory workingMemory)
modifyLeftTuple
in interface LeftTupleSink
public void modifyLeftTuple(InternalFactHandle factHandle, ModifyPreviousTuples modifyPreviousTuples, PropagationContext context, InternalWorkingMemory workingMemory)
modifyLeftTuple
in interface LeftTupleSink
public void retractLeftTuple(LeftTuple leftTuple, PropagationContext context, InternalWorkingMemory workingMemory)
retractLeftTuple
in interface LeftTupleSink
public String toString()
toString
in class BaseNode
public void ruleAttached()
public void attach()
BaseNode
ObjectSource
or TupleSource
attach
in class BaseNode
public void attach(InternalWorkingMemory[] workingMemories)
attach
in class BaseNode
public void networkUpdated()
BaseNode
networkUpdated
in class BaseNode
protected void doRemove(RuleRemovalContext context, ReteooBuilder builder, BaseNode node, InternalWorkingMemory[] workingMemories)
BaseNode
ObjectSource
or TupleSource
doRemove
in class BaseNode
public boolean isInUse()
BaseNode
isInUse
in class BaseNode
public boolean isLeftTupleMemoryEnabled()
isLeftTupleMemoryEnabled
in interface LeftTupleSink
public void setLeftTupleMemoryEnabled(boolean tupleMemoryEnabled)
setLeftTupleMemoryEnabled
in interface LeftTupleSink
public Declaration[] getDeclarations()
public Declaration[] getSalienceDeclarations()
public void setSalienceDeclarations(Declaration[] salienceDeclarations)
public Declaration[] getEnabledDeclarations()
public void setEnabledDeclarations(Declaration[] enabledDeclarations)
public LeftTupleSinkNode getNextLeftTupleSinkNode()
getNextLeftTupleSinkNode
in interface LeftTupleSinkNode
public void setNextLeftTupleSinkNode(LeftTupleSinkNode next)
setNextLeftTupleSinkNode
in interface LeftTupleSinkNode
next
- The next TupleSinkNodepublic LeftTupleSinkNode getPreviousLeftTupleSinkNode()
getPreviousLeftTupleSinkNode
in interface LeftTupleSinkNode
public void setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
setPreviousLeftTupleSinkNode
in interface LeftTupleSinkNode
previous
- The previous TupleSinkNodepublic int hashCode()
BaseNode
hashCode
in class BaseNode
public boolean equals(Object object)
equals
in class Object
public short getType()
getType
in interface LeftTupleSink
public LeftTuple createLeftTuple(InternalFactHandle factHandle, LeftTupleSink sink, boolean leftTupleMemoryEnabled)
createLeftTuple
in interface LeftTupleSink
public LeftTuple createLeftTuple(LeftTuple leftTuple, LeftTupleSink sink, boolean leftTupleMemoryEnabled)
createLeftTuple
in interface LeftTupleSink
public LeftTuple createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, LeftTupleSink sink)
createLeftTuple
in interface LeftTupleSink
public LeftTuple createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, LeftTuple currentLeftChild, LeftTuple currentRightChild, LeftTupleSink sink, boolean leftTupleMemoryEnabled)
createLeftTuple
in interface LeftTupleSink
public boolean isFireDirect()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |