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 anIRelationEvaluator
on the input relations. This is the backing computation node of aRelationEvaluation
constraint.- Since:
- 2.8
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
RelationEvaluatorNode.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 void
clear()
Clear all partial matchings stored in memoryvoid
connectToParents(java.util.List<Supplier> inputSuppliers)
void
networkStructureChanged()
At the time of the invocation, the dependency graph has already been updated.void
pullInto(java.util.Collection<Tuple> collector, boolean flush)
Pulls the contents of this object in this particular moment into a target collection.void
pullIntoWithTimeline(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:Clearable
Clear all partial matchings stored in memory
-
connectToParents
public void connectToParents(java.util.List<Supplier> inputSuppliers)
-
networkStructureChanged
public void networkStructureChanged()
Description copied from interface:NetworkStructureChangeSensitiveNode
At the time of the invocation, the dependency graph has already been updated.- Specified by:
networkStructureChanged
in interfaceNetworkStructureChangeSensitiveNode
- Overrides:
networkStructureChanged
in classStandardNode
-
pullInto
public void pullInto(java.util.Collection<Tuple> collector, boolean flush)
Description copied from interface:Supplier
Pulls 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:
pullIntoWithTimeline
in interfaceSupplier
-
-