Class TimelyUniquenessEnforcerNode
java.lang.Object
tools.refinery.interpreter.rete.network.BaseNode
tools.refinery.interpreter.rete.network.StandardNode
tools.refinery.interpreter.rete.single.AbstractUniquenessEnforcerNode
tools.refinery.interpreter.rete.single.TimelyUniquenessEnforcerNode
- All Implemented Interfaces:
ResumableNode
,IGroupable
,NetworkStructureChangeSensitiveNode
,Node
,Receiver
,Supplier
,Tunnel
- Direct Known Subclasses:
TimelyProductionNode
public class TimelyUniquenessEnforcerNode
extends AbstractUniquenessEnforcerNode
implements ResumableNode
Timely uniqueness enforcer node implementation.
- Since:
- 2.4
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected CommunicationGroup
protected final TimelyMemory
<Timestamp> Fields inherited from class tools.refinery.interpreter.rete.single.AbstractUniquenessEnforcerNode
identityMask, mailbox, memoryIdentityIndexer, memoryNullIndexer, nullMask, parents, specializedListeners, tupleWidth
Fields inherited from class tools.refinery.interpreter.rete.network.StandardNode
childMailboxes, children
Fields inherited from class tools.refinery.interpreter.rete.network.BaseNode
nodeId, reteContainer, tag, traceInfos
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the smallest timestamp where lazy folding shall be resumed, or null if there is no more folding to do in this resumable.protected Mailbox
void
At the time of the invocation, the dependency graph has already been updated.void
pullInto
(Collection<Tuple> collector, boolean flush) Pulls the contents of this object in this particular moment into a target collection.void
pullIntoWithTimeline
(Map<Tuple, Timeline<Timestamp>> collector, boolean flush) void
When called, the folding of the state shall be resumed at the given timestamp.void
Sets the current group of the mailboxvoid
Updates the receiver with a newly found or lost partial matching.Methods inherited from class tools.refinery.interpreter.rete.single.AbstractUniquenessEnforcerNode
appendParent, assignTraceInfo, constructIndex, getMailbox, getParents, propagate, removeParent
Methods inherited from class tools.refinery.interpreter.rete.network.StandardNode
appendChild, getChildMailboxes, getPulledContents, getReceivers, issueError, propagateUpdate, removeChild
Methods inherited from class tools.refinery.interpreter.rete.network.BaseNode
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCore
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface tools.refinery.interpreter.rete.network.Node
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTag
Methods inherited from interface tools.refinery.interpreter.rete.network.Receiver
batchUpdate
Methods inherited from interface tools.refinery.interpreter.rete.network.Supplier
appendChild, getPulledContents, getPulledContents, getReceivers, removeChild
-
Field Details
-
memory
-
group
- Since:
- 2.4
-
-
Constructor Details
-
TimelyUniquenessEnforcerNode
-
-
Method Details
-
instantiateMailbox
- Specified by:
instantiateMailbox
in classAbstractUniquenessEnforcerNode
-
pullInto
Description copied from interface:Supplier
Pulls the contents of this object in this particular moment into a target collection. -
getCurrentGroup
- Specified by:
getCurrentGroup
in interfaceIGroupable
- Returns:
- the current group of the mailbox
-
setCurrentGroup
Description copied from interface:IGroupable
Sets the current group of the mailbox- Specified by:
setCurrentGroup
in interfaceIGroupable
-
getTuples
- Specified by:
getTuples
in classAbstractUniquenessEnforcerNode
-
getResumableTimestamp
Description copied from interface:ResumableNode
Returns the smallest timestamp where lazy folding shall be resumed, or null if there is no more folding to do in this resumable.- Specified by:
getResumableTimestamp
in interfaceResumableNode
- Since:
- 2.4
-
resumeAt
Description copied from interface:ResumableNode
When 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:
resumeAt
in interfaceResumableNode
- Since:
- 2.4
-
update
Description copied from interface:Receiver
Updates the receiver with a newly found or lost partial matching. -
pullIntoWithTimeline
- Specified by:
pullIntoWithTimeline
in interfaceSupplier
-
getNullIndexer
- Specified by:
getNullIndexer
in classAbstractUniquenessEnforcerNode
-
getIdentityIndexer
- Specified by:
getIdentityIndexer
in classAbstractUniquenessEnforcerNode
-
networkStructureChanged
public void networkStructureChanged()Description copied from interface:NetworkStructureChangeSensitiveNode
At the time of the invocation, the dependency graph has already been updated.- Specified by:
networkStructureChanged
in interfaceNetworkStructureChangeSensitiveNode
- Overrides:
networkStructureChanged
in classStandardNode
-