Package org.drools.core.phreak
Class RuntimeSegmentUtilities
- java.lang.Object
-
- org.drools.core.phreak.RuntimeSegmentUtilities
-
public class RuntimeSegmentUtilities extends Object
-
-
Constructor Summary
Constructors Constructor Description RuntimeSegmentUtilities()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static SegmentMemorycreateChildSegment(ReteEvaluator reteEvaluator, LeftTupleNode node)static voidcreateChildSegments(ReteEvaluator reteEvaluator, SegmentMemory smem, LeftTupleSinkPropagator sinkProp)static SegmentMemorygetOrCreateSegmentMemory(LeftTupleNode node, ReteEvaluator reteEvaluator)Initialises the NodeSegment memory for all nodes in the segment.static SegmentMemorygetQuerySegmentMemory(ReteEvaluator reteEvaluator, LeftTupleSource segmentRoot, QueryElementNode queryNode)static PathMemoryinitializePathMemory(ReteEvaluator reteEvaluator, PathEndNode pathEndNode)static voidinitializePathMemory(ReteEvaluator reteEvaluator, PathEndNode pathEndNode, PathMemory pmem)static longnextNodePosMask(long nodePosMask)static voidupdateRiaAndTerminalMemory(SegmentMemory smem, SegmentMemory.SegmentPrototype proto, ReteEvaluator reteEvaluator)This adds the segment memory to the terminal node or ria node's list of memories.
-
-
-
Method Detail
-
getOrCreateSegmentMemory
public static SegmentMemory getOrCreateSegmentMemory(LeftTupleNode node, ReteEvaluator reteEvaluator)
Initialises the NodeSegment memory for all nodes in the segment.
-
nextNodePosMask
public static long nextNodePosMask(long nodePosMask)
-
getQuerySegmentMemory
public static SegmentMemory getQuerySegmentMemory(ReteEvaluator reteEvaluator, LeftTupleSource segmentRoot, QueryElementNode queryNode)
-
createChildSegments
public static void createChildSegments(ReteEvaluator reteEvaluator, SegmentMemory smem, LeftTupleSinkPropagator sinkProp)
-
createChildSegment
public static SegmentMemory createChildSegment(ReteEvaluator reteEvaluator, LeftTupleNode node)
-
updateRiaAndTerminalMemory
public static void updateRiaAndTerminalMemory(SegmentMemory smem, SegmentMemory.SegmentPrototype proto, ReteEvaluator reteEvaluator)
This adds the segment memory to the terminal node or ria node's list of memories. In the case of the terminal node this allows it to know that all segments from the tip to root are linked. In the case of the ria node its all the segments up to the start of the subnetwork. This is because the rianode only cares if all of it's segments are linked, then it sets the bit of node it is the right input for.
-
initializePathMemory
public static PathMemory initializePathMemory(ReteEvaluator reteEvaluator, PathEndNode pathEndNode)
-
initializePathMemory
public static void initializePathMemory(ReteEvaluator reteEvaluator, PathEndNode pathEndNode, PathMemory pmem)
-
-