in geronimo-microprofile-reporter/src/main/java/org/apache/geronimo/microprofile/reporter/storage/templating/TemplatingEngine.java [265:285]
private int handleFn(final String name, final String template, final Function<String, String> templateLoader,
final Collection<Function<Object, String>> segments, final StringBuilder builder,
final char[] chars, final int currentIndex, final Function<String, String> impl) {
final String value = builder.toString();
segments.add(data -> value);
builder.setLength(0);
final int end = findEndingParenthesis(chars, currentIndex + name .length() + 2 /*@ and (*/ + 1);
if (end < 0) {
throw new IllegalArgumentException("Missing ')' token for @" + name + " at position " + currentIndex + " for:\n" + template);
}
final String toEscape = template.substring(currentIndex + name.length() + 2, end);
segments.add(data -> {
final String escapableValue = compileIfNeeded(toEscape, templateLoader).apply(data);
if (escapableValue == null) {
return "";
}
return impl.apply(escapableValue);
});
return end;
}