Class StandardNode
java.lang.Object
tools.refinery.interpreter.rete.network.BaseNode
tools.refinery.interpreter.rete.network.StandardNode
- All Implemented Interfaces:
NetworkStructureChangeSensitiveNode
,Node
,Supplier
- Direct Known Subclasses:
AbstractUniquenessEnforcerNode
,ConstantNode
,DualInputNode
,ExternalInputEnumeratorNode
,IndexerBasedAggregatorNode
,LeftJoinNode
,RelationEvaluatorNode
,SingleInputNode
public abstract class StandardNode
extends BaseNode
implements Supplier, NetworkStructureChangeSensitiveNode
Base implementation for a supplier node.
-
Field Summary
FieldsModifier and TypeFieldDescriptionFields inherited from class tools.refinery.interpreter.rete.network.BaseNode
nodeId, reteContainer, tag, traceInfos
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
appendChild
(Receiver receiver) appends a receiver that will continously receive insert and revoke updates from this supplierconstructIndex
(TupleMask mask, TraceInfo... traces) Instantiates (or reuses, depending on implementation) an index according to the given mask.getPulledContents
(boolean flush) Returns the contents of this object in this particular moment.lists receiversprotected void
issueError
(String message, Exception ex) void
At the time of the invocation, the dependency graph has already been updated.protected void
propagateUpdate
(Direction direction, Tuple updateElement, Timestamp timestamp) void
removeChild
(Receiver receiver) removes a receiverMethods inherited from class tools.refinery.interpreter.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 tools.refinery.interpreter.rete.network.Node
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTag
Methods inherited from interface tools.refinery.interpreter.rete.network.Supplier
getPulledContents, pullInto, pullIntoWithTimeline
-
Field Details
-
children
-
childMailboxes
- Since:
- 2.2
-
-
Constructor Details
-
StandardNode
-
-
Method Details
-
propagateUpdate
- Since:
- 2.4
-
appendChild
Description copied from interface:Supplier
appends a receiver that will continously receive insert and revoke updates from this supplier- Specified by:
appendChild
in interfaceSupplier
-
removeChild
Description copied from interface:Supplier
removes a receiver- Specified by:
removeChild
in interfaceSupplier
-
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
-
getReceivers
Description copied from interface:Supplier
lists receivers- Specified by:
getReceivers
in interfaceSupplier
-
getChildMailboxes
- Since:
- 2.2
-
getPulledContents
Description copied from interface:Supplier
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
invalid reference
ReteContainer#pullContents(Supplier)
- Specified by:
getPulledContents
in interfaceSupplier
-
constructIndex
Description copied from interface:Supplier
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.- Specified by:
constructIndex
in interfaceSupplier
-
issueError
- Since:
- 1.6
-