private final List<FunctionInfo> functions = new ArrayList<>();
private final Multimap<OperatorType, FunctionInfo> operators = ArrayListMultimap.create();
public FunctionListBuilder window(String name, Type returnType, List<? extends Type> argumentTypes, Class<? extends WindowFunction> functionClass)
{
WindowFunctionSupplier windowFunctionSupplier = new ReflectionWindowFunctionSupplier<>(
new Signature(name, returnType, ImmutableList.copyOf(argumentTypes), false),
functionClass);
functions.add(new FunctionInfo(windowFunctionSupplier.getSignature(), windowFunctionSupplier.getDescription(), windowFunctionSupplier));
return this;
}