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 FirstOnlyTimelyColumnAggregatorNode
FirstOnlyTimelyColumnAggregatorNode.CumulativeAggregate<Accumulator, AggregateResult>Nested classes/interfaces inherited from class AbstractColumnAggregatorNode
AbstractColumnAggregatorNode.AggregatorOuterIdentityIndexer, AbstractColumnAggregatorNode.AggregatorOuterIndexer, AbstractColumnAggregatorNode.NetworkStructureChangeSensitiveLogic -
Field Summary
Fields inherited from class FirstOnlyTimelyColumnAggregatorNode
memoryFields inherited from class AbstractColumnAggregatorNode
aggregatorOuterIdentityIndexers, aggregatorOuterIndexer, columnMask, groupMask, NEUTRAL, operator, runtimeContext, sourceWidthFields inherited from class SingleInputNode
mailbox, parentFields inherited from class StandardNode
childMailboxes, childrenFields inherited from class 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 FirstOnlyTimelyColumnAggregatorNode
clear, getAggregateResult, getAggregateResultTimeline, getAggregateTuple, getAggregateTupleTimeline, getGroups, getLastResult, getLastTimestamp, getResult, getResult, getResultRaw, instantiateMailbox, propagateWithChecks, storeIfNotNeutralMethods inherited from class AbstractColumnAggregatorNode
appendChild, getAggregatorOuterIdentityIndexer, getAggregatorOuterIndexer, getCommunicationTracker, propagate, propagateAggregateResultUpdate, pullInto, pullIntoWithTimeline, tupleFromAggregateResultMethods inherited from class SingleInputNode
appendParent, assignTraceInfo, getMailbox, getParents, propagatePullInto, propagatePullIntoWithTimestamp, removeParentMethods inherited from class StandardNode
constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, networkStructureChanged, propagateUpdate, removeChildMethods inherited from class BaseNode
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCoreMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Node
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfos, setTagMethods inherited from interface Receiver
batchUpdateMethods inherited from interface 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>
-