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, parent
Fields inherited from class tools.refinery.interpreter.rete.network.StandardNode
childMailboxes, children
Fields inherited from class tools.refinery.interpreter.rete.network.BaseNode
nodeId, reteContainer, tag, traceInfos
-
Constructor Summary
ConstructorDescriptionDiscriminatorDispatcherNode
(ReteContainer reteContainer, int discriminationColumnIndex) -
Method Summary
Modifier and TypeMethodDescriptionvoid
appendChild
(Receiver receiver) appends a receiver that will continously receive insert and revoke updates from this supplierint
void
At the time of the invocation, the dependency graph has already been updated.void
pullInto
(Collection<Tuple> collector, boolean flush) Pulls the contents of this object in this particular moment into a target collection.void
pullIntoFiltered
(Collection<Tuple> collector, Object bucketKey, boolean flush) void
pullIntoWithTimeline
(Map<Tuple, Timeline<Timestamp>> collector, boolean flush) void
pullIntoWithTimestampFiltered
(Map<Tuple, Timeline<Timestamp>> collector, Object bucketKey, boolean flush) void
removeChild
(Receiver receiver) removes a receiverprotected String
clients should override this to append before the tag / trace indicatorsvoid
Updates 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, removeParent
Methods inherited from class tools.refinery.interpreter.rete.network.StandardNode
constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, propagateUpdate
Methods inherited from class tools.refinery.interpreter.rete.network.BaseNode
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString
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.Receiver
batchUpdate
Methods 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:Receiver
Updates the receiver with a newly found or lost partial matching. -
getDiscriminationColumnIndex
public int getDiscriminationColumnIndex() -
pullInto
Description copied from interface:Supplier
Pulls the contents of this object in this particular moment into a target collection. -
pullIntoWithTimeline
- Specified by:
pullIntoWithTimeline
in 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:Supplier
appends a receiver that will continously receive insert and revoke updates from this supplier- Specified by:
appendChild
in interfaceSupplier
- Overrides:
appendChild
in classStandardNode
-
getBucketMailboxes
- Since:
- 2.2
-
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
- Overrides:
networkStructureChanged
in classStandardNode
-
removeChild
Description copied from interface:Supplier
removes a receiver- Specified by:
removeChild
in interfaceSupplier
- Overrides:
removeChild
in classStandardNode
-
toStringCore
Description copied from class:BaseNode
clients should override this to append before the tag / trace indicators- Overrides:
toStringCore
in classBaseNode
-