public class DiscriminatorBucketNode extends SingleInputNode
DiscriminatorDispatcherNode
.
Exactly those that have the given bucket key at their discrimination column.
During operation, tuple contents and bucket keys have already been wrapped using IQueryRuntimeContext.wrapElement(Object)
mailbox, parent
childMailboxes, children
nodeId, reteContainer, tag, traceInfos
Constructor and Description |
---|
DiscriminatorBucketNode(ReteContainer reteContainer,
java.lang.Object bucketKey) |
Modifier and Type | Method and Description |
---|---|
void |
appendParent(Supplier supplier)
appends a parent that will continuously send insert and revoke updates to this supplier
|
java.lang.Object |
getBucketKey() |
DiscriminatorDispatcherNode |
getDispatcher() |
void |
pullInto(java.util.Collection<Tuple> collector,
boolean flush)
Pulls the contents of this object in this particular moment into a target collection.
|
void |
pullIntoWithTimeline(java.util.Map<Tuple,Timeline<Timestamp>> collector,
boolean flush) |
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.
|
assignTraceInfo, getCommunicationTracker, getMailbox, getParents, instantiateMailbox, propagatePullInto, propagatePullIntoWithTimestamp, removeParent
appendChild, constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, networkStructureChanged, propagateUpdate, removeChild
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
appendChild, constructIndex, getPulledContents, getPulledContents, getReceivers, removeChild
batchUpdate
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfos, setTag
public DiscriminatorBucketNode(ReteContainer reteContainer, java.lang.Object bucketKey)
bucketKey
- will be wrapped using IQueryRuntimeContext.wrapElement(Object)
public void pullInto(java.util.Collection<Tuple> collector, boolean flush)
Supplier
flush
- if true, flushing of messages is allowed during the pull, otherwise flushing is not allowedpublic void pullIntoWithTimeline(java.util.Map<Tuple,Timeline<Timestamp>> collector, boolean flush)
public void update(Direction direction, Tuple updateElement, Timestamp timestamp)
Receiver
public java.lang.Object getBucketKey()
public void appendParent(Supplier supplier)
Receiver
appendParent
in interface Receiver
appendParent
in class SingleInputNode
public DiscriminatorDispatcherNode getDispatcher()
protected java.lang.String toStringCore()
BaseNode
toStringCore
in class BaseNode