Class DoubleAverageOperator
- java.lang.Object
-
- org.eclipse.viatra.query.runtime.matchers.aggregators.DoubleAverageOperator
-
- All Implemented Interfaces:
IMultisetAggregationOperator<java.lang.Double,org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double>,java.lang.Double>
public class DoubleAverageOperator extends java.lang.Object implements IMultisetAggregationOperator<java.lang.Double,org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double>,java.lang.Double>
- Since:
- 2.0
-
-
Field Summary
Fields Modifier and Type Field Description static DoubleAverageOperatorINSTANCE
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.DoubleaggregateStream(java.util.stream.Stream<java.lang.Double> stream)Calculates the aggregate results from a given stream of values; all values are considered as insertedorg.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double>clone(org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double> original)Clones the given accumulator (with all its internal contents).org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double>createNeutral()java.lang.DoublegetAggregate(org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double> result)java.lang.StringgetName()A name or identifier of the operator.java.lang.StringgetShortDescription()A textual description of the operator.booleanisNeutral(org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double> result)org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double>update(org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double> oldResult, java.lang.Double updateValue, boolean isInsertion)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.IMultisetAggregationOperator
combine, contains, prettyPrint
-
-
-
-
Field Detail
-
INSTANCE
public static final DoubleAverageOperator INSTANCE
-
-
Method Detail
-
getShortDescription
public java.lang.String getShortDescription()
Description copied from interface:IMultisetAggregationOperatorA textual description of the operator.- Specified by:
getShortDescriptionin interfaceIMultisetAggregationOperator<java.lang.Double,org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double>,java.lang.Double>
-
getName
public java.lang.String getName()
Description copied from interface:IMultisetAggregationOperatorA name or identifier of the operator.- Specified by:
getNamein interfaceIMultisetAggregationOperator<java.lang.Double,org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double>,java.lang.Double>
-
createNeutral
public org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double> createNeutral()
- Specified by:
createNeutralin interfaceIMultisetAggregationOperator<java.lang.Double,org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double>,java.lang.Double>- Returns:
- the neutral element, i.e. the interim result of aggregating an empty multiset.
-
isNeutral
public boolean isNeutral(org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double> result)
- Specified by:
isNeutralin interfaceIMultisetAggregationOperator<java.lang.Double,org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double>,java.lang.Double>- Returns:
- true if the interim result is equivalent to the neutral element, as if there are no values in the multiset. Must return true if the multiset is empty.
-
update
public org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double> update(org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double> oldResult, java.lang.Double updateValue, boolean isInsertion)- Specified by:
updatein interfaceIMultisetAggregationOperator<java.lang.Double,org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double>,java.lang.Double>- Returns:
- an updated intermediate result, changed to reflect that a given object was added to / removed from the multiset (as indicated by the parameter isInsertion)
-
getAggregate
public java.lang.Double getAggregate(org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double> result)
- Specified by:
getAggregatein interfaceIMultisetAggregationOperator<java.lang.Double,org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double>,java.lang.Double>- Returns:
- the aggregate result obtained from the given intermediate result. May be null to indicate that the current multiset cannot be aggregated (e.g. 0 elements have no minimum).
-
aggregateStream
public java.lang.Double aggregateStream(java.util.stream.Stream<java.lang.Double> stream)
Description copied from interface:IMultisetAggregationOperatorCalculates the aggregate results from a given stream of values; all values are considered as inserted- Specified by:
aggregateStreamin interfaceIMultisetAggregationOperator<java.lang.Double,org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double>,java.lang.Double>- Returns:
- the aggregate result, or null if no result can be calculated (e.g. because of an empty stream)
-
clone
public org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double> clone(org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double> original)
Description copied from interface:IMultisetAggregationOperatorClones the given accumulator (with all its internal contents).- Specified by:
clonein interfaceIMultisetAggregationOperator<java.lang.Double,org.eclipse.viatra.query.runtime.matchers.aggregators.AverageAccumulator<java.lang.Double>,java.lang.Double>- Since:
- 2.4
-
-