final StringTemplateGroup stGroup = new StringTemplateGroup("StRenderer") {
@Override public String getFileNameFromTemplateName(String name) {
return super.getFileNameFromTemplateName(ST_TEMPLATE_PATH_TL.get().findPathForTemplate(name));
}
@Override public StringTemplate getEmbeddedInstanceOf(StringTemplate enclosingInstance, String name) throws IllegalArgumentException {
final StTool t = stToolProvider.getStTool(name);
if (t != null) return withEnclosing(enclosingInstance, new StringTemplate(this, name) {
@Override public int write(StringTemplateWriter out) throws IOException {
// Use ASTExpr to render since the code for using AttributeRenderer is there
return new ASTExpr(null, null, null).writeAttribute(this, t.render(this), out);
}
});
return super.getEmbeddedInstanceOf(enclosingInstance, name);
}
private StringTemplate withEnclosing(StringTemplate enclosingInstance, StringTemplate st) {