package org.cryptocoinpartners.esper; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.commons.collections15.buffer.CircularFifoBuffer; /** * represents a clone of the GenericTALibFunction where aggregation is used. * It uses the same function, outputClass, optInputParams and outputParams as the master * */ public class GenericTALibAggregatorFunction extends GenericTALibFunction { public GenericTALibAggregatorFunction(Method function, int inputParamCount, int lookbackPeriod, List<Object> optInputParams, Map<String, Object> outputParams, Class<?> outputClass) { super(); this.function = function; this.outputClass = outputClass; this.optInputParams = optInputParams; this.outputParams = outputParams; this.inputParams = new ArrayList<>(); for (int i = 0; i < inputParamCount; i++) { this.inputParams.add(new CircularFifoBuffer<Number>(lookbackPeriod)); } } }