Class DiscriminatorBucketNode
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.DiscriminatorBucketNode
- All Implemented Interfaces:
NetworkStructureChangeSensitiveNode
,Node
,Receiver
,Supplier
,Tunnel
A bucket holds a filtered set of tuples of its parent
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)
- 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
appendParent
(Supplier supplier) appends a parent that will continuously send insert and revoke updates to this suppliervoid
pullInto
(Collection<Tuple> collector, boolean flush) Pulls the contents of this object in this particular moment into a target collection.void
pullIntoWithTimeline
(Map<Tuple, Timeline<Timestamp>> collector, boolean flush) protected 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
assignTraceInfo, getCommunicationTracker, getMailbox, getParents, instantiateMailbox, propagatePullInto, propagatePullIntoWithTimestamp, removeParent
Methods inherited from class tools.refinery.interpreter.rete.network.StandardNode
appendChild, constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, networkStructureChanged, propagateUpdate, removeChild
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, 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
appendChild, constructIndex, getPulledContents, getPulledContents, getReceivers, removeChild
-
Constructor Details
-
DiscriminatorBucketNode
- Parameters:
bucketKey
- will be wrapped usingIQueryRuntimeContext.wrapElement(Object)
-
-
Method Details
-
pullInto
Description copied from interface:Supplier
Pulls the contents of this object in this particular moment into a target collection.- Parameters:
flush
- if true, flushing of messages is allowed during the pull, otherwise flushing is not allowed
-
pullIntoWithTimeline
-
update
Description copied from interface:Receiver
Updates the receiver with a newly found or lost partial matching. -
getBucketKey
-
appendParent
Description copied from interface:Receiver
appends a parent that will continuously send insert and revoke updates to this supplier- Specified by:
appendParent
in interfaceReceiver
- Overrides:
appendParent
in classSingleInputNode
-
getDispatcher
-
toStringCore
Description copied from class:BaseNode
clients should override this to append before the tag / trace indicators- Overrides:
toStringCore
in classBaseNode
-