This page gives some advice to create a new Aggregation function.
This page is under construction.
An aggregation function needs to implement one of the following interfaces:
de.uniol.inf.is.odysseus.aggregation.functions.IIncrementalAggregationFunctionvoid addNew(T newElement);sum and count. sum += newElement and count++ void removeOutdated(Collection<T> outdatedElements, T trigger, PointInTime pointInTime);sum -= element and count-- Object[] evalute(T trigger, PointInTime pointInTime);return sum/count de.uniol.inf.is.odysseus.aggregation.functions.INonIncrementalAggregationFunctionObject[] evaluate(Collection<T> elements, T trigger, PointInTime pointInTime);elements holds all elements in the window that starts at pointInTime. In de.uniol.inf.is.odysseus.aggregation.functions there are also abstract classes.
de.uniol.inf.is.odysseus.aggregation.functions.factory.IAggregationFunctionFactory to allow Odysseus to create a new function.de.uniol.inf.is.odysseus.aggregation.AggregationFunctionRegistry).