ReverseFunction implements Function<String> { @Override public String apply(List<Object> objects) { return new StringBuilder(String.valueOf(objects.get(0))) .reverse() .toString(); }  @Override Set<String> validateInput(List<Object> args); @Override Class<String> getReturnType(); @Override FunctionName getName(); @Override String apply(List<Object> objects); @Override String getSignature(); @Override String getDescription();  }
@Test public void apply() throws Exception { assertThat(function.apply(Collections.singletonList("abcd")), equalTo("dcba")); }