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
memory
Fields inherited from class tools.refinery.interpreter.rete.aggregation.AbstractColumnAggregatorNode
aggregatorOuterIdentityIndexers, aggregatorOuterIndexer, columnMask, groupMask, NEUTRAL, operator, runtimeContext, sourceWidth
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
ConstructorsConstructorDescriptionFirstOnlySequentialTimelyColumnAggregatorNode
(ReteContainer reteContainer, IMultisetAggregationOperator<Domain, Accumulator, AggregateResult> operator, TupleMask groupMask, TupleMask columnMask) -
Method Summary
Modifier and TypeMethodDescriptionprotected Accumulator
getAccumulator
(Tuple group, Timestamp timestamp) Returns the aggregation architecture-specific accumulator at the specified timestamp for the given group.void
Accumulator 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, storeIfNotNeutral
Methods inherited from class tools.refinery.interpreter.rete.aggregation.AbstractColumnAggregatorNode
appendChild, getAggregatorOuterIdentityIndexer, getAggregatorOuterIndexer, getCommunicationTracker, propagate, propagateAggregateResultUpdate, pullInto, pullIntoWithTimeline, tupleFromAggregateResult
Methods inherited from class tools.refinery.interpreter.rete.single.SingleInputNode
appendParent, assignTraceInfo, getMailbox, getParents, propagatePullInto, propagatePullIntoWithTimestamp, removeParent
Methods inherited from class tools.refinery.interpreter.rete.network.StandardNode
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, toStringCore
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
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:FirstOnlyTimelyColumnAggregatorNode
Returns the aggregation architecture-specific accumulator at the specified timestamp for the given group.- Specified by:
getAccumulator
in classFirstOnlyTimelyColumnAggregatorNode<Domain,
Accumulator, AggregateResult>
-