private static void addText(Stack<XNode> stack, String g1) { stack.peek().children.add(new XNode(XNode.OP.OP_TEXT, g1)); }
public TemplateRenderer compile() { return compile(Object.class); }
private static void expression(Stack<XNode> stack, char prefix, String expr, String whole) { U.must(!expr.isEmpty(), "Empty expression!"); switch (prefix) { case '$': stack.peek().children.add(new XNode(XNode.OP.OP_PRINT, expr)); break; case '@': stack.peek().children.add(new XNode(XNode.OP.OP_PRINT_RAW, expr)); break; case '>': stack.peek().children.add(new XNode(XNode.OP.OP_INCLUDE, expr)); break; default: throw U.rte("Invalid expression: %s", expr); } }
@Override public Template compile(String source, Class<?> modelType) { return new RapidoidTemplate(null, TemplateParser.parse(source).compile(modelType), this); }
private static void block(Stack<XNode> stack, char prefix, String stat, String whole) { U.must(!stat.isEmpty(), "Empty block!"); switch (prefix) { case '#': stack.push(new XNode(XNode.OP.OP_FOREACH, stat)); break; case '?': stack.push(new XNode(XNode.OP.OP_IF, stat)); break; case '^': case '!': stack.push(new XNode(XNode.OP.OP_IF_NOT, stat)); break; case '/': close(stack, stat); break; default: throw U.rte("Invalid block: %s", stat); } }
protected TemplateRenderer loadTemplate(String filename) { String content; try { content = templateStore.loadTemplate(filename); } catch (Exception e) { throw U.rte("Couldn't load template: " + filename, e); } return TemplateParser.parse(content).compile(); }
XNode root = new XNode(XNode.OP.OP_ROOT, null); stack.push(root);
public TemplateRenderer compile() { return compile(Object.class); }
private static void addText(Stack<XNode> stack, String g1) { stack.peek().children.add(new XNode(XNode.OP.OP_TEXT, g1)); }
@Override public Template compile(String source, Class<?> modelType) { return new RapidoidTemplate(null, TemplateParser.parse(source).compile(modelType), this); }
private static void expression(Stack<XNode> stack, char prefix, String expr, String whole) { U.must(!expr.isEmpty(), "Empty expression!"); switch (prefix) { case '$': stack.peek().children.add(new XNode(XNode.OP.OP_PRINT, expr)); break; case '@': stack.peek().children.add(new XNode(XNode.OP.OP_PRINT_RAW, expr)); break; case '>': stack.peek().children.add(new XNode(XNode.OP.OP_INCLUDE, expr)); break; default: throw U.rte("Invalid expression: %s", expr); } }
protected TemplateRenderer loadTemplate(String filename) { String content; try { content = templateStore.loadTemplate(filename); } catch (Exception e) { throw U.rte("Couldn't load template: " + filename, e); } return TemplateParser.parse(content).compile(); }
private static void block(Stack<XNode> stack, char prefix, String stat, String whole) { U.must(!stat.isEmpty(), "Empty block!"); switch (prefix) { case '#': stack.push(new XNode(XNode.OP.OP_FOREACH, stat)); break; case '?': stack.push(new XNode(XNode.OP.OP_IF, stat)); break; case '^': case '!': stack.push(new XNode(XNode.OP.OP_IF_NOT, stat)); break; case '/': close(stack, stat); break; default: throw U.rte("Invalid block: %s", stat); } }
XNode root = new XNode(XNode.OP.OP_ROOT, null); stack.push(root);