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 tools.refinery.interpreter.rete.single.SingleInputNode
mailbox, parentFields inherited from class tools.refinery.interpreter.rete.network.StandardNode
childMailboxes, childrenFields inherited from class tools.refinery.interpreter.rete.network.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 tools.refinery.interpreter.rete.single.SingleInputNode
appendParent, assignTraceInfo, getCommunicationTracker, getMailbox, getParents, instantiateMailbox, propagatePullInto, propagatePullIntoWithTimestamp, removeParentMethods inherited from class tools.refinery.interpreter.rete.network.StandardNode
constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, propagateUpdateMethods inherited from class tools.refinery.interpreter.rete.network.BaseNode
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toStringMethods 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.Receiver
batchUpdateMethods inherited from interface tools.refinery.interpreter.rete.network.Supplier
constructIndex, getPulledContents, getPulledContents, getReceivers
-
Constructor Details
-
DiscriminatorDispatcherNode
- Parameters:
reteContainer-
-
-
Method Details
-
update
Description copied from interface:ReceiverUpdates the receiver with a newly found or lost partial matching. -
getDiscriminationColumnIndex
public int getDiscriminationColumnIndex() -
pullInto
Description copied from interface:SupplierPulls the contents of this object in this particular moment into a target collection. -
pullIntoWithTimeline
- Specified by:
pullIntoWithTimelinein interfaceSupplier
-
pullIntoFiltered
- Since:
- 2.3
-
pullIntoWithTimestampFiltered
public void pullIntoWithTimestampFiltered(Map<Tuple, Timeline<Timestamp>> collector, Object bucketKey, boolean flush) - Since:
- 2.3
-
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
- Since:
- 2.2
-
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
-