Class SingleInputNode
- java.lang.Object
-
- org.eclipse.viatra.query.runtime.rete.network.BaseNode
-
- org.eclipse.viatra.query.runtime.rete.network.StandardNode
-
- org.eclipse.viatra.query.runtime.rete.single.SingleInputNode
-
- All Implemented Interfaces:
NetworkStructureChangeSensitiveNode
,Node
,Receiver
,Supplier
,Tunnel
- Direct Known Subclasses:
AbstractColumnAggregatorNode
,AbstractEvaluatorNode
,DiscriminatorBucketNode
,DiscriminatorDispatcherNode
,FilterNode
,RemoteReceiver
,RemoteSupplier
,TransformerNode
,TransitiveClosureNode
,TransparentNode
public abstract class SingleInputNode extends StandardNode implements Tunnel
-
-
Field Summary
Fields Modifier and Type Field Description protected Mailbox
mailbox
protected Supplier
parent
-
Fields inherited from class org.eclipse.viatra.query.runtime.rete.network.StandardNode
childMailboxes, children
-
Fields inherited from class org.eclipse.viatra.query.runtime.rete.network.BaseNode
nodeId, reteContainer, tag, traceInfos
-
-
Constructor Summary
Constructors Constructor Description SingleInputNode(ReteContainer reteContainer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
appendParent(Supplier supplier)
appends a parent that will continuously send insert and revoke updates to this suppliervoid
assignTraceInfo(TraceInfo traceInfo)
assigns new traceability info to this nodeCommunicationTracker
getCommunicationTracker()
Mailbox
getMailbox()
Returns theMailbox
of this receiver.java.util.Collection<Supplier>
getParents()
access active parentprotected Mailbox
instantiateMailbox()
Instantiates theMailbox
of this receiver.void
propagatePullInto(java.util.Collection<Tuple> collector, boolean flush)
To be called by derived classes and ReteContainer.void
propagatePullIntoWithTimestamp(java.util.Map<Tuple,Timeline<Timestamp>> collector, boolean flush)
To be called by derived classes and ReteContainer.void
removeParent(Supplier supplier)
removes a parent-
Methods inherited from class org.eclipse.viatra.query.runtime.rete.network.StandardNode
appendChild, constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, networkStructureChanged, propagateUpdate, removeChild
-
Methods inherited from class org.eclipse.viatra.query.runtime.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 org.eclipse.viatra.query.runtime.rete.network.Node
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfos, setTag
-
Methods inherited from interface org.eclipse.viatra.query.runtime.rete.network.Receiver
batchUpdate, update
-
Methods inherited from interface org.eclipse.viatra.query.runtime.rete.network.Supplier
appendChild, constructIndex, getPulledContents, getPulledContents, getReceivers, pullInto, pullIntoWithTimeline, removeChild
-
-
-
-
Constructor Detail
-
SingleInputNode
public SingleInputNode(ReteContainer reteContainer)
-
-
Method Detail
-
instantiateMailbox
protected Mailbox instantiateMailbox()
Instantiates theMailbox
of this receiver. Subclasses may override this method to provide their own mailbox implementation.- Returns:
- the mailbox
- Since:
- 2.0
-
getCommunicationTracker
public CommunicationTracker getCommunicationTracker()
- Specified by:
getCommunicationTracker
in interfaceNode
-
getMailbox
public Mailbox getMailbox()
Description copied from interface:Receiver
Returns theMailbox
of this receiver.- Specified by:
getMailbox
in interfaceReceiver
- Returns:
- the mailbox
-
appendParent
public void appendParent(Supplier supplier)
Description copied from interface:Receiver
appends a parent that will continuously send insert and revoke updates to this supplier- Specified by:
appendParent
in interfaceReceiver
-
removeParent
public void removeParent(Supplier supplier)
Description copied from interface:Receiver
removes a parent- Specified by:
removeParent
in interfaceReceiver
-
propagatePullInto
public void propagatePullInto(java.util.Collection<Tuple> collector, boolean flush)
To be called by derived classes and ReteContainer.
-
propagatePullIntoWithTimestamp
public void propagatePullIntoWithTimestamp(java.util.Map<Tuple,Timeline<Timestamp>> collector, boolean flush)
To be called by derived classes and ReteContainer.
-
getParents
public java.util.Collection<Supplier> getParents()
Description copied from interface:Receiver
access active parent- Specified by:
getParents
in interfaceReceiver
-
assignTraceInfo
public void assignTraceInfo(TraceInfo traceInfo)
Description copied from interface:Node
assigns new traceability info to this node- Specified by:
assignTraceInfo
in interfaceNode
- Overrides:
assignTraceInfo
in classBaseNode
-
-