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 TypeMethodDescriptionvoidappendChild(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 voidissueError(String message, Exception ex) voidAt the time of the invocation, the dependency graph has already been updated.protected voidpropagateUpdate(Direction direction, Tuple updateElement, Timestamp timestamp) voidremoveChild(Receiver receiver) removes a receiverMethods inherited from class tools.refinery.interpreter.rete.network.BaseNode
acceptPropagatedTraceInfo, assignTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCoreMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface tools.refinery.interpreter.rete.network.Node
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTagMethods 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:Supplierappends a receiver that will continously receive insert and revoke updates from this supplier- Specified by:
appendChildin interfaceSupplier
-
removeChild
Description copied from interface:Supplierremoves a receiver- Specified by:
removeChildin interfaceSupplier
-
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
-
getReceivers
Description copied from interface:Supplierlists receivers- Specified by:
getReceiversin interfaceSupplier
-
getChildMailboxes
- Since:
- 2.2
-
getPulledContents
Description copied from interface:SupplierReturns 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:
getPulledContentsin interfaceSupplier
-
constructIndex
Description copied from interface:SupplierInstantiates (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:
constructIndexin interfaceSupplier
-
issueError
- Since:
- 1.6
-