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 CommunicationGroupprotected final TimelyMemory<Timestamp> Fields inherited from class tools.refinery.interpreter.rete.single.AbstractUniquenessEnforcerNode
identityMask, mailbox, memoryIdentityIndexer, memoryNullIndexer, nullMask, parents, specializedListeners, tupleWidthFields inherited from class tools.refinery.interpreter.rete.network.StandardNode
childMailboxes, childrenFields 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 MailboxvoidAt the time of the invocation, the dependency graph has already been updated.voidpullInto(Collection<Tuple> collector, boolean flush) Pulls the contents of this object in this particular moment into a target collection.voidpullIntoWithTimeline(Map<Tuple, Timeline<Timestamp>> collector, boolean flush) voidWhen called, the folding of the state shall be resumed at the given timestamp.voidSets the current group of the mailboxvoidUpdates 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, removeParentMethods inherited from class tools.refinery.interpreter.rete.network.StandardNode
appendChild, getChildMailboxes, getPulledContents, getReceivers, issueError, propagateUpdate, removeChildMethods inherited from class tools.refinery.interpreter.rete.network.BaseNode
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCoreMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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
batchUpdateMethods 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:
instantiateMailboxin classAbstractUniquenessEnforcerNode
-
pullInto
Description copied from interface:SupplierPulls the contents of this object in this particular moment into a target collection. -
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
-
getTuples
- Specified by:
getTuplesin classAbstractUniquenessEnforcerNode
-
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
-
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
-
update
Description copied from interface:ReceiverUpdates the receiver with a newly found or lost partial matching. -
pullIntoWithTimeline
- Specified by:
pullIntoWithTimelinein interfaceSupplier
-
getNullIndexer
- Specified by:
getNullIndexerin classAbstractUniquenessEnforcerNode
-
getIdentityIndexer
- Specified by:
getIdentityIndexerin classAbstractUniquenessEnforcerNode
-
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 classStandardNode
-