Class DiscriminatorBucketNode
- 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
-
- org.eclipse.viatra.query.runtime.rete.single.DiscriminatorBucketNode
-
- All Implemented Interfaces:
NetworkStructureChangeSensitiveNode,Node,Receiver,Supplier,Tunnel
public class DiscriminatorBucketNode extends SingleInputNode
A bucket holds a filtered set of tuples of its parentDiscriminatorDispatcherNode. Exactly those that have the given bucket key at their discrimination column.During operation, tuple contents and bucket keys have already been wrapped using
IQueryRuntimeContext.wrapElement(Object)- Since:
- 1.5
-
-
Field Summary
-
Fields inherited from class org.eclipse.viatra.query.runtime.rete.single.SingleInputNode
mailbox, 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 DiscriminatorBucketNode(ReteContainer reteContainer, java.lang.Object bucketKey)
-
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 supplierjava.lang.ObjectgetBucketKey()DiscriminatorDispatcherNodegetDispatcher()voidpullInto(java.util.Collection<Tuple> collector, boolean flush)Pulls the contents of this object in this particular moment into a target collection.voidpullIntoWithTimeline(java.util.Map<Tuple,Timeline<Timestamp>> collector, boolean flush)protected java.lang.StringtoStringCore()clients should override this to append before the tag / trace indicatorsvoidupdate(Direction direction, Tuple updateElement, Timestamp timestamp)Updates the receiver with a newly found or lost partial matching.-
Methods inherited from class org.eclipse.viatra.query.runtime.rete.single.SingleInputNode
assignTraceInfo, getCommunicationTracker, getMailbox, getParents, instantiateMailbox, propagatePullInto, propagatePullIntoWithTimestamp, removeParent
-
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
-
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
-
Methods inherited from interface org.eclipse.viatra.query.runtime.rete.network.Supplier
appendChild, constructIndex, getPulledContents, getPulledContents, getReceivers, removeChild
-
-
-
-
Constructor Detail
-
DiscriminatorBucketNode
public DiscriminatorBucketNode(ReteContainer reteContainer, java.lang.Object bucketKey)
- Parameters:
bucketKey- will be wrapped usingIQueryRuntimeContext.wrapElement(Object)
-
-
Method Detail
-
pullInto
public void pullInto(java.util.Collection<Tuple> collector, boolean flush)
Description copied from interface:SupplierPulls the contents of this object in this particular moment into a target collection.flush- if true, flushing of messages is allowed during the pull, otherwise flushing is not allowed
-
pullIntoWithTimeline
public void pullIntoWithTimeline(java.util.Map<Tuple,Timeline<Timestamp>> collector, boolean flush)
-
update
public void update(Direction direction, Tuple updateElement, Timestamp timestamp)
Description copied from interface:ReceiverUpdates the receiver with a newly found or lost partial matching.
-
getBucketKey
public java.lang.Object getBucketKey()
-
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- Overrides:
appendParentin classSingleInputNode
-
getDispatcher
public DiscriminatorDispatcherNode getDispatcher()
-
toStringCore
protected java.lang.String toStringCore()
Description copied from class:BaseNodeclients should override this to append before the tag / trace indicators- Overrides:
toStringCorein classBaseNode
-
-