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 Mailboxmailboxprotected Supplierparent-
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 voidappendParent(Supplier supplier)appends a parent that will continuously send insert and revoke updates to this suppliervoidassignTraceInfo(TraceInfo traceInfo)assigns new traceability info to this nodeCommunicationTrackergetCommunicationTracker()MailboxgetMailbox()Returns theMailboxof this receiver.java.util.Collection<Supplier>getParents()access active parentprotected MailboxinstantiateMailbox()Instantiates theMailboxof this receiver.voidpropagatePullInto(java.util.Collection<Tuple> collector, boolean flush)To be called by derived classes and ReteContainer.voidpropagatePullIntoWithTimestamp(java.util.Map<Tuple,Timeline<Timestamp>> collector, boolean flush)To be called by derived classes and ReteContainer.voidremoveParent(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 theMailboxof 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:
getCommunicationTrackerin interfaceNode
-
getMailbox
public Mailbox getMailbox()
Description copied from interface:ReceiverReturns theMailboxof this receiver.- Specified by:
getMailboxin interfaceReceiver- Returns:
- the mailbox
-
appendParent
public void appendParent(Supplier supplier)
Description copied from interface:Receiverappends a parent that will continuously send insert and revoke updates to this supplier- Specified by:
appendParentin interfaceReceiver
-
removeParent
public void removeParent(Supplier supplier)
Description copied from interface:Receiverremoves a parent- Specified by:
removeParentin 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:Receiveraccess active parent- Specified by:
getParentsin interfaceReceiver
-
assignTraceInfo
public void assignTraceInfo(TraceInfo traceInfo)
Description copied from interface:Nodeassigns new traceability info to this node- Specified by:
assignTraceInfoin interfaceNode- Overrides:
assignTraceInfoin classBaseNode
-
-