public class DiscriminatorDispatcherNode extends SingleInputNode implements NetworkStructureChangeSensitiveNode
DiscriminatorBucketNode), based
on the value of a given column.
Tuple contents and bucket keys have already been wrapped using IQueryRuntimeContext.wrapElement(Object)
mailbox, parentchildMailboxes, childrennodeId, reteContainer, tag, traceInfos| Constructor and Description |
|---|
DiscriminatorDispatcherNode(ReteContainer reteContainer,
int discriminationColumnIndex) |
| Modifier and Type | Method and Description |
|---|---|
void |
appendChild(Receiver receiver)
appends a receiver that will continously receive insert and revoke updates from this supplier
|
java.util.Map<java.lang.Object,Mailbox> |
getBucketMailboxes() |
int |
getDiscriminationColumnIndex() |
void |
networkStructureChanged()
At the time of the invocation, the dependency graph has already been updated.
|
void |
pullInto(java.util.Collection<Tuple> collector,
boolean flush)
Pulls the contents of this object in this particular moment into a target collection.
|
void |
pullIntoFiltered(java.util.Collection<Tuple> collector,
java.lang.Object bucketKey,
boolean flush) |
void |
pullIntoWithTimeline(java.util.Map<Tuple,Timeline<Timestamp>> collector,
boolean flush) |
void |
pullIntoWithTimestampFiltered(java.util.Map<Tuple,Timeline<Timestamp>> collector,
java.lang.Object bucketKey,
boolean flush) |
void |
removeChild(Receiver receiver)
removes a receiver
|
protected java.lang.String |
toStringCore()
clients should override this to append before the tag / trace indicators
|
void |
update(Direction direction,
Tuple updateElement,
Timestamp timestamp)
Updates the receiver with a newly found or lost partial matching.
|
appendParent, assignTraceInfo, getCommunicationTracker, getMailbox, getParents, instantiateMailbox, propagatePullInto, propagatePullIntoWithTimestamp, removeParentconstructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, propagateUpdateacceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitacceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTagconstructIndex, getPulledContents, getPulledContents, getReceiversbatchUpdatepublic DiscriminatorDispatcherNode(ReteContainer reteContainer, int discriminationColumnIndex)
reteContainer - public void update(Direction direction, Tuple updateElement, Timestamp timestamp)
Receiverpublic int getDiscriminationColumnIndex()
public void pullInto(java.util.Collection<Tuple> collector, boolean flush)
Supplierpublic void pullIntoWithTimeline(java.util.Map<Tuple,Timeline<Timestamp>> collector, boolean flush)
pullIntoWithTimeline in interface Supplierpublic void pullIntoFiltered(java.util.Collection<Tuple> collector, java.lang.Object bucketKey, boolean flush)
public void pullIntoWithTimestampFiltered(java.util.Map<Tuple,Timeline<Timestamp>> collector, java.lang.Object bucketKey, boolean flush)
public void appendChild(Receiver receiver)
SupplierappendChild in interface SupplierappendChild in class StandardNodepublic java.util.Map<java.lang.Object,Mailbox> getBucketMailboxes()
public void networkStructureChanged()
NetworkStructureChangeSensitiveNodenetworkStructureChanged in interface NetworkStructureChangeSensitiveNodenetworkStructureChanged in class StandardNodepublic void removeChild(Receiver receiver)
SupplierremoveChild in interface SupplierremoveChild in class StandardNodeprotected java.lang.String toStringCore()
BaseNodetoStringCore in class BaseNode