Package org.drools.core.reteoo
Class SegmentMemory
- All Implemented Interfaces:
Externalizable,Serializable,DoubleLinkedEntry<SegmentMemory>,SingleLinkedEntry<SegmentMemory>
public class SegmentMemory
extends LinkedList<SegmentMemory>
implements DoubleLinkedEntry<SegmentMemory>
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classNested classes/interfaces inherited from class org.drools.core.util.LinkedList
LinkedList.JavaUtilIterator<T extends DoubleLinkedEntry<T>>, LinkedList.LinkedListFastIterator, LinkedList.LinkedListIterator<T extends DoubleLinkedEntry<T>>, LinkedList.TMSLinkedListFastIterator<K extends SingleLinkedEntry<K>> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final booleanprotected static final org.slf4j.LoggerFields inherited from class org.drools.core.util.LinkedList
fastIterator -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(SegmentMemory segmentMemory) Add aLinkedListNodeto the list.voidaddPathMemory(PathMemory pathMemory) voidclear()Iterates the list removing all the nodes until there are no more nodes to remove.<T extends Memory>
TcreateNodeMemory(MemoryFactory<T> memoryFactory, ReteEvaluator reteEvaluator) booleanlonglonglonggetNext()Memory[]intgetPos()Returns the previous nodelongbooleaninthashCode()booleanisActive()booleanbooleanlinkNode(long mask, ReteEvaluator reteEvaluator) booleanlinkNodeWithoutRuleNotify(long mask) booleanlinkSegmentWithoutRuleNotify(long mask) voidmergePathMemories(SegmentMemory segmentMemory) booleannotifyRuleLinkSegment(ReteEvaluator reteEvaluator) booleannotifyRuleLinkSegment(ReteEvaluator reteEvaluator, long mask) voidnotifyRuleLinkSegment(ReteEvaluator reteEvaluator, PathMemory pmem) voidremove(SegmentMemory segmentMemory) Removes aLinkedListNodefrom the list.voidremovePathMemory(PathMemory pathMemory) voidreset(SegmentMemory.SegmentPrototype segmentPrototype) voidsetActive(boolean evaluating) voidsetAllLinkedMaskTest(long allLinkedTestMask) voidsetDirtyNodeMask(long dirtyNodeMask) voidsetLinkedNodeMask(long linkedNodeMask) voidsetNext(SegmentMemory next) voidsetNodeMemories(Memory[] nodeMemories) voidsetPos(int pos) voidsetPrevious(SegmentMemory previous) Sets the previous nodevoidsetSegmentPosMaskBit(long segmentPosMaskBit) voidsetTipNode(LeftTupleNode tipNode) toString()booleanunlinkNode(long mask, ReteEvaluator reteEvaluator) voidunlinkNodeWithoutRuleNotify(long mask) voidunlinkSegment(ReteEvaluator reteEvaluator) voidupdateCleanNodeMask(long mask) voidupdateDirtyNodeMask(long mask) Methods inherited from class org.drools.core.util.LinkedList
addAllToCollection, addFirst, addLast, contains, copyStateInto, fastIterator, get, get, getFirst, getLast, insertAfter, isEmpty, javaUtilIterator, readExternal, removeAdd, removeFirst, removeLast, size, writeExternal
-
Field Details
-
log
protected static final org.slf4j.Logger log -
IS_LOG_TRACE_ENABLED
protected static final boolean IS_LOG_TRACE_ENABLED
-
-
Constructor Details
-
SegmentMemory
public SegmentMemory() -
SegmentMemory
-
-
Method Details
-
createNodeMemory
public <T extends Memory> T createNodeMemory(MemoryFactory<T> memoryFactory, ReteEvaluator reteEvaluator) -
getRootNode
-
getSegmentPrototype
-
getTipNode
-
setTipNode
-
getSinkFactory
-
getNodeMemories
-
setNodeMemories
-
getLinkedNodeMask
public long getLinkedNodeMask() -
setLinkedNodeMask
public void setLinkedNodeMask(long linkedNodeMask) -
getDirtyNodeMask
public long getDirtyNodeMask() -
setDirtyNodeMask
public void setDirtyNodeMask(long dirtyNodeMask) -
updateDirtyNodeMask
public void updateDirtyNodeMask(long mask) -
updateCleanNodeMask
public void updateCleanNodeMask(long mask) -
getRuleNames
-
linkNode
-
linkNodeWithoutRuleNotify
public boolean linkNodeWithoutRuleNotify(long mask) -
linkSegmentWithoutRuleNotify
public boolean linkSegmentWithoutRuleNotify(long mask) -
notifyRuleLinkSegment
-
notifyRuleLinkSegment
-
notifyRuleLinkSegment
-
unlinkNode
-
unlinkSegment
-
unlinkNodeWithoutRuleNotify
public void unlinkNodeWithoutRuleNotify(long mask) -
getAllLinkedMaskTest
public long getAllLinkedMaskTest() -
setAllLinkedMaskTest
public void setAllLinkedMaskTest(long allLinkedTestMask) -
isSegmentLinked
public boolean isSegmentLinked() -
getPathMemories
-
addPathMemory
-
mergePathMemories
-
removePathMemory
-
getFirstDataDrivenPathMemory
-
hasDataDrivenPathMemories
public boolean hasDataDrivenPathMemories() -
getDataDrivenPathMemories
-
getSegmentPosMaskBit
public long getSegmentPosMaskBit() -
setSegmentPosMaskBit
public void setSegmentPosMaskBit(long segmentPosMaskBit) -
isActive
public boolean isActive() -
setActive
public void setActive(boolean evaluating) -
getPos
public int getPos() -
setPos
public void setPos(int pos) -
getStagedLeftTuples
-
add
Description copied from class:LinkedListAdd aLinkedListNodeto the list. If theLinkedListis empty then the first and last nodes are set to the added node.- Overrides:
addin classLinkedList<SegmentMemory>- Parameters:
segmentMemory- TheLinkedListNodeto be added
-
remove
Description copied from class:LinkedListRemoves aLinkedListNodefrom the list. This works by attach the previous reference to the child reference. When the node to be removed is the first node it callsremoveFirst(). When the node to be removed is the last node it callsremoveLast().- Overrides:
removein classLinkedList<SegmentMemory>- Parameters:
segmentMemory- TheLinkedListNodeto be removed.
-
getPeersWithDataDrivenPathMemoriesIterator
-
getNext
- Specified by:
getNextin interfaceSingleLinkedEntry<SegmentMemory>
-
setNext
- Specified by:
setNextin interfaceSingleLinkedEntry<SegmentMemory>
-
getPrevious
Description copied from interface:DoubleLinkedEntryReturns the previous node- Specified by:
getPreviousin interfaceDoubleLinkedEntry<SegmentMemory>- Returns:
- The previous LinkedListNode
-
setPrevious
Description copied from interface:DoubleLinkedEntrySets the previous node- Specified by:
setPreviousin interfaceDoubleLinkedEntry<SegmentMemory>- Parameters:
previous- The previous LinkedListNode
-
clear
public void clear()Description copied from class:LinkedListIterates the list removing all the nodes until there are no more nodes to remove.- Specified by:
clearin interfaceDoubleLinkedEntry<SegmentMemory>- Overrides:
clearin classLinkedList<SegmentMemory>
-
hashCode
public int hashCode()- Overrides:
hashCodein classLinkedList<SegmentMemory>
-
equals
- Overrides:
equalsin classLinkedList<SegmentMemory>
-
reset
-
toString
-