|
||||||||||
| 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.LeftTupleSource
org.drools.reteoo.ConditionalBranchNode
public class ConditionalBranchNode
Node which allows to follow different paths in the Rete-OO network,
based on the result of a boolean Test.
| Nested Class Summary | |
|---|---|
static class |
ConditionalBranchNode.ConditionalBranchMemory
|
| Field Summary | |
|---|---|
protected boolean |
tupleMemoryEnabled
|
| Fields inherited from class org.drools.reteoo.LeftTupleSource |
|---|
sink |
| Fields inherited from class org.drools.common.BaseNode |
|---|
associations, id, partitionId, partitionsEnabled |
| Constructor Summary | |
|---|---|
ConditionalBranchNode()
|
|
ConditionalBranchNode(int id,
LeftTupleSource tupleSource,
ConditionalBranchEvaluator branchEvaluator,
BuildContext context)
|
|
| 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,
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)
|
Memory |
createMemory(RuleBaseConfiguration config)
|
protected void |
doCollectAncestors(NodeSet nodeSet)
|
protected void |
doRemove(RuleRemovalContext context,
ReteooBuilder builder,
InternalWorkingMemory[] workingMemories)
Removes the node from teh network. |
boolean |
equals(Object object)
|
LeftTupleSource |
getLeftTupleSource()
|
LeftTupleSinkNode |
getNextLeftTupleSinkNode()
Returns the next node |
protected ObjectTypeNode |
getObjectTypeNode()
|
LeftTupleSinkNode |
getPreviousLeftTupleSinkNode()
Returns the previous node |
short |
getType()
|
int |
hashCode()
The hashCode return is simply the unique id of the 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 |
setLeftTupleMemoryEnabled(boolean tupleMemoryEnabled)
|
void |
setNextLeftTupleSinkNode(LeftTupleSinkNode next)
Sets the next node |
void |
setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
Sets the previous node |
String |
toString()
Produce a debug string. |
void |
updateSink(LeftTupleSink sink,
PropagationContext context,
InternalWorkingMemory workingMemory)
|
void |
updateSinkOnAttach(BuildContext context,
PropagationContext propagationContext,
InternalWorkingMemory workingMemory)
|
void |
writeExternal(ObjectOutput out)
|
| Methods inherited from class org.drools.reteoo.LeftTupleSource |
|---|
addTupleSink, addTupleSink, addTupleSink, doModifyLeftTuple, getLeftDeclaredMask, getLeftInferredMask, getLeftInputOtnId, getLeftNegativeMask, getObjectType, getSinkPropagator, initDeclaredMask, initInferredMask, initMasks, isInUse, modifyLeftTuple, removeTupleSink, setLeftInferredMask, setLeftInputOtnId, setLeftListenedProperties, unwrapLeftInput |
| Methods inherited from class org.drools.common.BaseNode |
|---|
addAssociation, attach, collectAncestors, getAssociations, getId, getPartitionId, remove, removeAssociation, setPartitionId, updateSinkOnAttach |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.drools.reteoo.LeftTupleSink |
|---|
getLeftInputOtnId, modifyLeftTuple, setLeftInputOtnId |
| Methods inherited from interface org.drools.common.NetworkNode |
|---|
getId, getPartitionId |
| Methods inherited from interface org.drools.common.NodeMemory |
|---|
getId |
| Field Detail |
|---|
protected boolean tupleMemoryEnabled
| Constructor Detail |
|---|
public ConditionalBranchNode()
public ConditionalBranchNode(int id,
LeftTupleSource tupleSource,
ConditionalBranchEvaluator branchEvaluator,
BuildContext context)
| Method Detail |
|---|
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
readExternal in interface ExternalizablereadExternal in class LeftTupleSourceIOException
ClassNotFoundException
public void writeExternal(ObjectOutput out)
throws IOException
writeExternal in interface ExternalizablewriteExternal in class LeftTupleSourceIOExceptionpublic void attach(BuildContext context)
BaseNodeObjectSource or TupleSource
attach in class BaseNode
public void updateSinkOnAttach(BuildContext context,
PropagationContext propagationContext,
InternalWorkingMemory workingMemory)
updateSinkOnAttach in class BaseNodepublic void networkUpdated(UpdateContext updateContext)
BaseNode
networkUpdated in class BaseNodepublic LeftTupleSource getLeftTupleSource()
getLeftTupleSource in interface LeftTupleSink
public void assertLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
LeftTupleSinkReteTuple.
assertLeftTuple in interface LeftTupleSinkleftTuple - The ReteTuple to propagate.context - The PropagationContext of the WorkingMemory actionworkingMemory - the WorkingMemory session.
public void retractLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
retractLeftTuple in interface LeftTupleSink
public void modifyLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
modifyLeftTuple in interface LeftTupleSinkpublic String toString()
toString in class BaseNodepublic int hashCode()
BaseNode
hashCode in class BaseNodepublic boolean equals(Object object)
equals in class Objectpublic Memory createMemory(RuleBaseConfiguration config)
createMemory in interface NodeMemory
public void updateSink(LeftTupleSink sink,
PropagationContext context,
InternalWorkingMemory workingMemory)
updateSink in class LeftTupleSource
protected void doRemove(RuleRemovalContext context,
ReteooBuilder builder,
InternalWorkingMemory[] workingMemories)
BaseNodeObjectSource or TupleSource
doRemove in class BaseNodeprotected void doCollectAncestors(NodeSet nodeSet)
doCollectAncestors in class BaseNodepublic boolean isLeftTupleMemoryEnabled()
isLeftTupleMemoryEnabled in interface LeftTupleSinkpublic void setLeftTupleMemoryEnabled(boolean tupleMemoryEnabled)
setLeftTupleMemoryEnabled in interface LeftTupleSinkpublic LeftTupleSinkNode getNextLeftTupleSinkNode()
getNextLeftTupleSinkNode in interface LeftTupleSinkNodepublic void setNextLeftTupleSinkNode(LeftTupleSinkNode next)
setNextLeftTupleSinkNode in interface LeftTupleSinkNodenext - The next TupleSinkNodepublic LeftTupleSinkNode getPreviousLeftTupleSinkNode()
getPreviousLeftTupleSinkNode in interface LeftTupleSinkNodepublic void setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
setPreviousLeftTupleSinkNode in interface LeftTupleSinkNodeprevious - The previous TupleSinkNodepublic short getType()
getType in interface NetworkNodegetType 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 LeftTupleSinkprotected ObjectTypeNode getObjectTypeNode()
getObjectTypeNode in class LeftTupleSource
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||