Package org.drools.core.phreak
Class AddRemoveRule
- java.lang.Object
-
- org.drools.core.phreak.AddRemoveRule
-
public class AddRemoveRule extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAddRemoveRule.AddExistingPathsstatic interfaceAddRemoveRule.ExistingPathStrategystatic classAddRemoveRule.Flushedstatic classAddRemoveRule.RemoveExistingPaths
-
Constructor Summary
Constructors Constructor Description AddRemoveRule()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static List<PathEndNode>addRule(TerminalNode tn, Collection<InternalWorkingMemory> wms, RuleBase kBase)This method is called after the rule nodes have been added to the network For add tuples are processed after the segments and pmems have been adjustedstatic TupleSets<LeftTuple>createLeftTupleTupleSets(LeftTuple leftTuple, short stagedType)static List<PathMemory>findPathsToFlushFromRia(ReteEvaluator reteEvaluator, PathMemory pmem)static PathMemoryfindPathToFlush(SegmentMemory sm, LeftTuple leftTuple, boolean streamMode)static booleanflushLeftTupleIfNecessary(ReteEvaluator reteEvaluator, SegmentMemory sm, boolean streamMode)static booleanflushLeftTupleIfNecessary(ReteEvaluator reteEvaluator, SegmentMemory sm, LeftTuple leftTuple, boolean streamMode, short stagedType)static voidforceFlushLeftTuple(PathMemory pmem, SegmentMemory sm, ReteEvaluator reteEvaluator, TupleSets<LeftTuple> leftTupleSets)static voidforceFlushPath(ReteEvaluator reteEvaluator, PathMemory outPmem)static voidforceFlushWhenRiaNode(ReteEvaluator reteEvaluator, PathMemory pmem)static List<PathEndNode>removeRule(TerminalNode tn, Collection<InternalWorkingMemory> wms, RuleBase kBase)This method is called before the rule nodes are removed from the network.static SegmentMemorysplitSegment(InternalWorkingMemory wm, SegmentMemory sm1, LeftTupleNode splitNode, RuleBase kbase)
-
-
-
Method Detail
-
addRule
public static List<PathEndNode> addRule(TerminalNode tn, Collection<InternalWorkingMemory> wms, RuleBase kBase)
This method is called after the rule nodes have been added to the network For add tuples are processed after the segments and pmems have been adjusted- Returns:
-
removeRule
public static List<PathEndNode> removeRule(TerminalNode tn, Collection<InternalWorkingMemory> wms, RuleBase kBase)
This method is called before the rule nodes are removed from the network. For remove tuples are processed before the segments and pmems have been adjusted Note the
-
flushLeftTupleIfNecessary
public static boolean flushLeftTupleIfNecessary(ReteEvaluator reteEvaluator, SegmentMemory sm, boolean streamMode)
-
flushLeftTupleIfNecessary
public static boolean flushLeftTupleIfNecessary(ReteEvaluator reteEvaluator, SegmentMemory sm, LeftTuple leftTuple, boolean streamMode, short stagedType)
-
findPathToFlush
public static PathMemory findPathToFlush(SegmentMemory sm, LeftTuple leftTuple, boolean streamMode)
-
createLeftTupleTupleSets
public static TupleSets<LeftTuple> createLeftTupleTupleSets(LeftTuple leftTuple, short stagedType)
-
forceFlushWhenRiaNode
public static void forceFlushWhenRiaNode(ReteEvaluator reteEvaluator, PathMemory pmem)
-
findPathsToFlushFromRia
public static List<PathMemory> findPathsToFlushFromRia(ReteEvaluator reteEvaluator, PathMemory pmem)
-
forceFlushPath
public static void forceFlushPath(ReteEvaluator reteEvaluator, PathMemory outPmem)
-
forceFlushLeftTuple
public static void forceFlushLeftTuple(PathMemory pmem, SegmentMemory sm, ReteEvaluator reteEvaluator, TupleSets<LeftTuple> leftTupleSets)
-
splitSegment
public static SegmentMemory splitSegment(InternalWorkingMemory wm, SegmentMemory sm1, LeftTupleNode splitNode, RuleBase kbase)
-
-