Class RelationEvaluatorNode
- 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.eval.RelationEvaluatorNode
-
- All Implemented Interfaces:
Clearable,NetworkStructureChangeSensitiveNode,Node,Supplier
public class RelationEvaluatorNode extends StandardNode implements Supplier, Clearable
A node that operates in batch-style (seeReceiver#doesProcessUpdatesInBatch()and evaluates arbitrary Java logic represented by anIRelationEvaluatoron the input relations. This is the backing computation node of aRelationEvaluationconstraint.- Since:
- 2.8
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classRelationEvaluatorNode.BatchingReceiver
-
Field Summary
-
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 RelationEvaluatorNode(ReteContainer container, IRelationEvaluator evaluator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Clear all partial matchings stored in memoryvoidconnectToParents(java.util.List<Supplier> inputSuppliers)voidnetworkStructureChanged()At the time of the invocation, the dependency graph has already been updated.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)-
Methods inherited from class org.eclipse.viatra.query.runtime.rete.network.StandardNode
appendChild, constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, propagateUpdate, removeChild
-
Methods inherited from class org.eclipse.viatra.query.runtime.rete.network.BaseNode
acceptPropagatedTraceInfo, assignTraceInfo, 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, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTag
-
Methods inherited from interface org.eclipse.viatra.query.runtime.rete.network.Supplier
appendChild, constructIndex, getPulledContents, getPulledContents, getReceivers, removeChild
-
-
-
-
Constructor Detail
-
RelationEvaluatorNode
public RelationEvaluatorNode(ReteContainer container, IRelationEvaluator evaluator)
-
-
Method Detail
-
clear
public void clear()
Description copied from interface:ClearableClear all partial matchings stored in memory
-
connectToParents
public void connectToParents(java.util.List<Supplier> inputSuppliers)
-
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
-
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.
-
pullIntoWithTimeline
public void pullIntoWithTimeline(java.util.Map<Tuple,Timeline<Timestamp>> collector, boolean flush)
- Specified by:
pullIntoWithTimelinein interfaceSupplier
-
-