Interface Supplier
-
- All Superinterfaces:
Node
- All Known Subinterfaces:
ProductionNode
,Tunnel
- All Known Implementing Classes:
AbstractColumnAggregatorNode
,AbstractEvaluatorNode
,AbstractUniquenessEnforcerNode
,ColumnAggregatorNode
,ConstantNode
,CountNode
,DefaultProductionNode
,DiscriminatorBucketNode
,DiscriminatorDispatcherNode
,DualInputNode
,EqualityFilterNode
,ExistenceNode
,ExternalInputEnumeratorNode
,ExternalInputStatelessFilterNode
,FilterNode
,IndexerBasedAggregatorNode
,InequalityFilterNode
,JoinNode
,MemorylessEvaluatorNode
,OutputCachingEvaluatorNode
,RelationEvaluatorNode
,RemoteReceiver
,RemoteSupplier
,RetePatternMatcher
,SingleInputNode
,StandardNode
,TimelyProductionNode
,TimelyUniquenessEnforcerNode
,TransformerNode
,TransitiveClosureNode
,TransparentNode
,TrimmerNode
,UniquenessEnforcerNode
,ValueBinderFilterNode
public interface Supplier extends Node
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
appendChild(Receiver receiver)
appends a receiver that will continously receive insert and revoke updates from this supplierProjectionIndexer
constructIndex(TupleMask mask, TraceInfo... traces)
Instantiates (or reuses, depending on implementation) an index according to the given mask.default java.util.Set<Tuple>
getPulledContents()
java.util.Set<Tuple>
getPulledContents(boolean flush)
Returns the contents of this object in this particular moment.java.util.Collection<Receiver>
getReceivers()
lists receiversvoid
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)
void
removeChild(Receiver receiver)
removes a receiver-
Methods inherited from interface org.eclipse.viatra.query.runtime.rete.network.Node
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTag
-
-
-
-
Method Detail
-
pullInto
void pullInto(java.util.Collection<Tuple> collector, boolean flush)
Pulls the contents of this object in this particular moment into a target collection.- Parameters:
flush
- if true, flushing of messages is allowed during the pull, otherwise flushing is not allowed- Since:
- 2.3
-
pullIntoWithTimeline
void pullIntoWithTimeline(java.util.Map<Tuple,Timeline<Timestamp>> collector, boolean flush)
- Since:
- 2.4
-
getPulledContents
java.util.Set<Tuple> getPulledContents(boolean flush)
Returns the contents of this object in this particular moment. For memoryless nodes, this may involve a costly recomputation of contents. The result is returned as a Set, even when it has multiplicities (at the output ofTrimmerNode
).Intended mainly for debug purposes; therefore flushing is performed only if explicitly requested During runtime, flushing may be preferred; see
ReteContainer#pullContents(Supplier)
- Since:
- 2.3
-
getPulledContents
default java.util.Set<Tuple> getPulledContents()
-
appendChild
void appendChild(Receiver receiver)
appends a receiver that will continously receive insert and revoke updates from this supplier
-
removeChild
void removeChild(Receiver receiver)
removes a receiver
-
constructIndex
ProjectionIndexer constructIndex(TupleMask mask, TraceInfo... traces)
Instantiates (or reuses, depending on implementation) an index according to the given mask. Intended for internal use; clients should invoke through Library instead to enable reusing.
-
getReceivers
java.util.Collection<Receiver> getReceivers()
lists receivers
-
-