package jeql.api.function;
import java.util.List;
import jeql.engine.Scope;
/**
* Interface for functions which aggregate values.
*
* @author Martin Davis
*
*/
public interface AggregateFunction
{
void bind(Scope scope, List args);
String getName();
/**
* Gets the return type from this function
*
* @return the Class of the return type
*/
Class getType();
/**
* Creates a new instance of the Aggregator for this function
* @return
*/
Aggregator createAggregator();
}