SumAggregator extends Aggregator<SumState> { @Override public String toString() { return String.format(Locale.ROOT, "sum(%s)", format(getArguments())); } SumAggregator(List<Expression> arguments, ExprCoreType returnType); @Override SumState create(); @Override SumState iterate(BindingTuple tuple, SumState state); @Override String toString();  }
@Test public void test_to_string() { Aggregator sumAggregator = dsl.sum(DSL.ref("integer_value", INTEGER)); assertEquals("sum(integer_value)", sumAggregator.toString()); }
@Test public void test_nested_to_string() { Aggregator sumAggregator = dsl.sum(dsl.multiply(DSL.ref("integer_value", INTEGER), DSL.literal(ExprValueUtils.integerValue(10)))); assertEquals(String.format("sum(*(%s, %d))", DSL.ref("integer_value", INTEGER), 10), sumAggregator.toString()); }