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, parent
childMailboxes, children
nodeId, 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, removeParent
constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, propagateUpdate
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTag
constructIndex, getPulledContents, getPulledContents, getReceivers
public DiscriminatorDispatcherNode(ReteContainer reteContainer, int discriminationColumnIndex)
reteContainer
- public void update(Direction direction, Tuple updateElement, Timestamp timestamp)
Receiver
public int getDiscriminationColumnIndex()
public void pullInto(java.util.Collection<Tuple> collector, boolean flush)
Supplier
public void pullIntoWithTimeline(java.util.Map<Tuple,Timeline<Timestamp>> collector, boolean flush)
pullIntoWithTimeline
in interface Supplier
public 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)
Supplier
appendChild
in interface Supplier
appendChild
in class StandardNode
public java.util.Map<java.lang.Object,Mailbox> getBucketMailboxes()
public void networkStructureChanged()
NetworkStructureChangeSensitiveNode
networkStructureChanged
in interface NetworkStructureChangeSensitiveNode
networkStructureChanged
in class StandardNode
public void removeChild(Receiver receiver)
Supplier
removeChild
in interface Supplier
removeChild
in class StandardNode
protected java.lang.String toStringCore()
BaseNode
toStringCore
in class BaseNode