Class IndexerWithMemory
java.lang.Object
tools.refinery.interpreter.rete.network.BaseNode
tools.refinery.interpreter.rete.index.StandardIndexer
tools.refinery.interpreter.rete.index.IndexerWithMemory
- All Implemented Interfaces:
Indexer,ResumableNode,IGroupable,NetworkStructureChangeSensitiveNode,Node,Receiver
- Direct Known Subclasses:
GenericProjectionIndexer
public abstract class IndexerWithMemory
extends StandardIndexer
implements Receiver, NetworkStructureChangeSensitiveNode, ResumableNode
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected CommunicationGroupprotected final Mailboxprotected MaskedTupleMemory<Timestamp> Fields inherited from class tools.refinery.interpreter.rete.index.StandardIndexer
mask, parentFields inherited from class tools.refinery.interpreter.rete.network.BaseNode
nodeId, reteContainer, tag, traceInfos -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidappendParent(Supplier supplier) appends a parent that will continuously send insert and revoke updates to this supplierReturns theMailboxof this receiver.access active parentReturns the smallest timestamp where lazy folding shall be resumed, or null if there is no more folding to do in this resumable.protected MailboxInstantiates theMailboxof this receiver.voidAt the time of the invocation, the dependency graph has already been updated.voidremoveParent(Supplier supplier) removes a parentvoidWhen called, the folding of the state shall be resumed at the given timestamp.voidSets the current group of the mailboxprotected abstract voidupdate(Direction direction, Tuple updateElement, Tuple signature, boolean change, Timestamp timestamp) Refined version of updatevoidUpdates the receiver with a newly found or lost partial matching.Methods inherited from class tools.refinery.interpreter.rete.index.StandardIndexer
assignTraceInfo, attachListener, detachListener, getContainer, getListeners, getMask, getParent, propagate, toStringCoreMethods inherited from class tools.refinery.interpreter.rete.network.BaseNode
acceptPropagatedTraceInfo, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface tools.refinery.interpreter.rete.index.Indexer
get, getActiveNode, getTimelineMethods inherited from interface tools.refinery.interpreter.rete.network.Node
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTagMethods inherited from interface tools.refinery.interpreter.rete.network.Receiver
batchUpdate
-
Field Details
-
memory
-
logic
- Since:
- 2.3
-
mailbox
- Since:
- 1.6
-
group
- Since:
- 2.4
-
-
Constructor Details
-
IndexerWithMemory
-
-
Method Details
-
getCurrentGroup
- Specified by:
getCurrentGroupin interfaceIGroupable- Returns:
- the current group of the mailbox
-
setCurrentGroup
Description copied from interface:IGroupableSets the current group of the mailbox- Specified by:
setCurrentGroupin interfaceIGroupable
-
networkStructureChanged
public void networkStructureChanged()Description copied from interface:NetworkStructureChangeSensitiveNodeAt the time of the invocation, the dependency graph has already been updated.- Specified by:
networkStructureChangedin interfaceNetworkStructureChangeSensitiveNode- Overrides:
networkStructureChangedin classStandardIndexer
-
instantiateMailbox
Instantiates theMailboxof this receiver. Subclasses may override this method to provide their own mailbox implementation.- Returns:
- the mailbox
- Since:
- 2.0
-
getMailbox
Description copied from interface:ReceiverReturns theMailboxof this receiver.- Specified by:
getMailboxin interfaceReceiver- Returns:
- the mailbox
-
getMemory
- Since:
- 2.0
-
update
Description copied from interface:ReceiverUpdates the receiver with a newly found or lost partial matching. -
update
protected abstract void update(Direction direction, Tuple updateElement, Tuple signature, boolean change, Timestamp timestamp) Refined version of update- Since:
- 2.4
-
appendParent
Description copied from interface:Receiverappends a parent that will continuously send insert and revoke updates to this supplier- Specified by:
appendParentin interfaceReceiver
-
removeParent
Description copied from interface:Receiverremoves a parent- Specified by:
removeParentin interfaceReceiver
-
getParents
Description copied from interface:Receiveraccess active parent- Specified by:
getParentsin interfaceReceiver- Since:
- 2.4
-
resumeAt
Description copied from interface:ResumableNodeWhen called, the folding of the state shall be resumed at the given timestamp. The resumable is expected to do a folding step at the given timestamp only. Afterwards, folding shall be interrupted, even if there is more folding to do towards higher timestamps.- Specified by:
resumeAtin interfaceResumableNode- Since:
- 2.4
-
getResumableTimestamp
Description copied from interface:ResumableNodeReturns the smallest timestamp where lazy folding shall be resumed, or null if there is no more folding to do in this resumable.- Specified by:
getResumableTimestampin interfaceResumableNode- Since:
- 2.4
-
createLogic
- Since:
- 2.3
-