Class FirstOnlyParallelTimelyColumnAggregatorNode<Domain,Accumulator,AggregateResult>
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.aggregation.AbstractColumnAggregatorNode<Domain,Accumulator,AggregateResult>
tools.refinery.interpreter.rete.aggregation.timely.FirstOnlyTimelyColumnAggregatorNode<Domain,Accumulator,AggregateResult>
tools.refinery.interpreter.rete.aggregation.timely.FirstOnlyParallelTimelyColumnAggregatorNode<Domain,Accumulator,AggregateResult>
- All Implemented Interfaces:
Clearable,IAggregatorNode,NetworkStructureChangeSensitiveNode,Node,Receiver,Supplier,Tunnel
public class FirstOnlyParallelTimelyColumnAggregatorNode<Domain,Accumulator,AggregateResult>
extends FirstOnlyTimelyColumnAggregatorNode<Domain,Accumulator,AggregateResult>
First-only column aggregator with parallel aggregation architecture.
- Since:
- 2.4
-
Nested Class Summary
Nested classes/interfaces inherited from class tools.refinery.interpreter.rete.aggregation.timely.FirstOnlyTimelyColumnAggregatorNode
FirstOnlyTimelyColumnAggregatorNode.CumulativeAggregate<Accumulator,AggregateResult> Nested classes/interfaces inherited from class tools.refinery.interpreter.rete.aggregation.AbstractColumnAggregatorNode
AbstractColumnAggregatorNode.AggregatorOuterIdentityIndexer, AbstractColumnAggregatorNode.AggregatorOuterIndexer, AbstractColumnAggregatorNode.NetworkStructureChangeSensitiveLogic -
Field Summary
Fields inherited from class tools.refinery.interpreter.rete.aggregation.timely.FirstOnlyTimelyColumnAggregatorNode
memoryFields inherited from class tools.refinery.interpreter.rete.aggregation.AbstractColumnAggregatorNode
aggregatorOuterIdentityIndexers, aggregatorOuterIndexer, columnMask, groupMask, NEUTRAL, operator, runtimeContext, sourceWidthFields inherited from class tools.refinery.interpreter.rete.single.SingleInputNode
mailbox, parentFields inherited from class tools.refinery.interpreter.rete.network.StandardNode
childMailboxes, childrenFields inherited from class tools.refinery.interpreter.rete.network.BaseNode
nodeId, reteContainer, tag, traceInfos -
Constructor Summary
ConstructorsConstructorDescriptionFirstOnlyParallelTimelyColumnAggregatorNode(ReteContainer reteContainer, IMultisetAggregationOperator<Domain, Accumulator, AggregateResult> operator, TupleMask groupMask, TupleMask columnMask) -
Method Summary
Modifier and TypeMethodDescriptionprotected AccumulatorgetAccumulator(Tuple group, Timestamp timestamp) Returns the aggregation architecture-specific accumulator at the specified timestamp for the given group.voidAccumulator gets modified at the input timestamp and at all higher timestamps.Methods inherited from class tools.refinery.interpreter.rete.aggregation.timely.FirstOnlyTimelyColumnAggregatorNode
clear, getAggregateResult, getAggregateResultTimeline, getAggregateTuple, getAggregateTupleTimeline, getGroups, getLastResult, getLastTimestamp, getResult, getResult, getResultRaw, instantiateMailbox, propagateWithChecks, storeIfNotNeutralMethods inherited from class tools.refinery.interpreter.rete.aggregation.AbstractColumnAggregatorNode
appendChild, getAggregatorOuterIdentityIndexer, getAggregatorOuterIndexer, getCommunicationTracker, propagate, propagateAggregateResultUpdate, pullInto, pullIntoWithTimeline, tupleFromAggregateResultMethods inherited from class tools.refinery.interpreter.rete.single.SingleInputNode
appendParent, assignTraceInfo, getMailbox, getParents, propagatePullInto, propagatePullIntoWithTimestamp, removeParentMethods inherited from class tools.refinery.interpreter.rete.network.StandardNode
constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, networkStructureChanged, propagateUpdate, removeChildMethods inherited from class tools.refinery.interpreter.rete.network.BaseNode
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCoreMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface tools.refinery.interpreter.rete.network.Node
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfos, setTagMethods inherited from interface tools.refinery.interpreter.rete.network.Receiver
batchUpdateMethods inherited from interface tools.refinery.interpreter.rete.network.Supplier
constructIndex, getPulledContents, getPulledContents, getReceivers, removeChild
-
Constructor Details
-
FirstOnlyParallelTimelyColumnAggregatorNode
public FirstOnlyParallelTimelyColumnAggregatorNode(ReteContainer reteContainer, IMultisetAggregationOperator<Domain, Accumulator, AggregateResult> operator, TupleMask groupMask, TupleMask columnMask)
-
-
Method Details
-
update
Accumulator gets modified at the input timestamp and at all higher timestamps. Folding cannot be interrupted if the new aggregate result is the same as the old at an intermediate timestamp because aggregands need to be copied over to all accumulators at the higher timestamps. -
getAccumulator
Description copied from class:FirstOnlyTimelyColumnAggregatorNodeReturns the aggregation architecture-specific accumulator at the specified timestamp for the given group.- Specified by:
getAccumulatorin classFirstOnlyTimelyColumnAggregatorNode<Domain,Accumulator, AggregateResult>
-