Class DiscriminatorDispatcherNode
java.lang.Object
tools.refinery.interpreter.rete.network.BaseNode
tools.refinery.interpreter.rete.network.StandardNode
tools.refinery.interpreter.rete.single.SingleInputNode
tools.refinery.interpreter.rete.single.DiscriminatorDispatcherNode
- All Implemented Interfaces:
NetworkStructureChangeSensitiveNode, Node, Receiver, Supplier, Tunnel
public class DiscriminatorDispatcherNode
extends SingleInputNode
implements NetworkStructureChangeSensitiveNode
Node that sends tuples off to different buckets (attached as children of type
DiscriminatorBucketNode), based
on the value of a given column.
Tuple contents and bucket keys have already been wrapped using IQueryRuntimeContext.wrapElement(Object)
- Since:
- 1.5
-
Field Summary
Fields inherited from class SingleInputNode
mailbox, parentFields inherited from class StandardNode
childMailboxes, childrenFields inherited from class BaseNode
nodeId, reteContainer, tag, traceInfos -
Constructor Summary
ConstructorsConstructorDescriptionDiscriminatorDispatcherNode(ReteContainer reteContainer, int discriminationColumnIndex) -
Method Summary
Modifier and TypeMethodDescriptionvoidappendChild(Receiver receiver) appends a receiver that will continously receive insert and revoke updates from this supplierintvoidAt the time of the invocation, the dependency graph has already been updated.voidpullInto(Collection<Tuple> collector, boolean flush) Pulls the contents of this object in this particular moment into a target collection.voidpullIntoFiltered(Collection<Tuple> collector, Object bucketKey, boolean flush) voidpullIntoWithTimeline(Map<Tuple, Timeline<Timestamp>> collector, boolean flush) voidpullIntoWithTimestampFiltered(Map<Tuple, Timeline<Timestamp>> collector, Object bucketKey, boolean flush) voidremoveChild(Receiver receiver) removes a receiverprotected Stringclients should override this to append before the tag / trace indicatorsvoidUpdates the receiver with a newly found or lost partial matching.Methods inherited from class SingleInputNode
appendParent, assignTraceInfo, getCommunicationTracker, getMailbox, getParents, instantiateMailbox, propagatePullInto, propagatePullIntoWithTimestamp, removeParentMethods inherited from class StandardNode
constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, propagateUpdateMethods inherited from class BaseNode
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Node
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTagMethods inherited from interface Receiver
batchUpdateMethods inherited from interface Supplier
constructIndex, getPulledContents, getPulledContents, getReceivers
-
Constructor Details
-
DiscriminatorDispatcherNode
- Parameters:
reteContainer-
-
-
Method Details
-
update
-
getDiscriminationColumnIndex
public int getDiscriminationColumnIndex() -
pullInto
Description copied from interface:SupplierPulls the contents of this object in this particular moment into a target collection. -
pullIntoWithTimeline
-
pullIntoFiltered
- Since:
- 2.3
-
pullIntoWithTimestampFiltered
-
appendChild
Description copied from interface:Supplierappends a receiver that will continously receive insert and revoke updates from this supplier- Specified by:
appendChildin interfaceSupplier- Overrides:
appendChildin classStandardNode
-
getBucketMailboxes
-
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
-
removeChild
Description copied from interface:Supplierremoves a receiver- Specified by:
removeChildin interfaceSupplier- Overrides:
removeChildin classStandardNode
-
toStringCore
Description copied from class:BaseNodeclients should override this to append before the tag / trace indicators- Overrides:
toStringCorein classBaseNode
-