Class FirstOnlySequentialTimelyColumnAggregatorNode<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.FirstOnlySequentialTimelyColumnAggregatorNode<Domain,Accumulator,AggregateResult>
- All Implemented Interfaces:
Clearable,IAggregatorNode,NetworkStructureChangeSensitiveNode,Node,Receiver,Supplier,Tunnel
public class FirstOnlySequentialTimelyColumnAggregatorNode<Domain,Accumulator,AggregateResult>
extends FirstOnlyTimelyColumnAggregatorNode<Domain,Accumulator,AggregateResult>
First-only column aggregator with sequential 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
ConstructorsConstructorDescriptionFirstOnlySequentialTimelyColumnAggregatorNode(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 only at the timestamp where the update happened.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
-
FirstOnlySequentialTimelyColumnAggregatorNode
public FirstOnlySequentialTimelyColumnAggregatorNode(ReteContainer reteContainer, IMultisetAggregationOperator<Domain, Accumulator, AggregateResult> operator, TupleMask groupMask, TupleMask columnMask)
-
-
Method Details
-
update
Accumulator gets modified only at the timestamp where the update happened. During the folding, accumulators are never changed at higher timestamps. Aggregate results at higher timestamps may change due to the change at the input timestamp. Uniqueness enforcement may require from aggregate results to jump up/down on demand during the folding. -
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>
-