@Override public void execute(IndentWriter writer, JadeModel model, JadeTemplate template) throws JadeCompilerException { block.execute(writer, model, template); } }
private void executeElseNode(JadeModel model, IndentWriter writer, JadeTemplate template) { if (elseNode != null) { elseNode.execute(writer, model, template); } }
@Override public void execute(IndentWriter writer, JadeModel model, JadeTemplate template) throws JadeCompilerException { block.execute(writer, model, template); }
@Override public void execute(IndentWriter writer, JadeModel model, JadeTemplate template) throws JadeCompilerException { block.execute(writer, model, template); }
@Override public void execute(IndentWriter writer, JadeModel model, JadeTemplate template) throws JadeCompilerException { Node node = pollNode(); if(node != null) node.execute(writer, model, template); } }
public void compile(JadeModel model, Writer w) throws JadeCompilerException { IndentWriter writer = new IndentWriter(w); writer.setUseIndent(prettyPrint); rootNode.execute(writer, model, template); }
private void runMap(Map<Object, Object> result, JadeModel model, IndentWriter writer, JadeTemplate template) { Set<Object> keys = result.keySet(); if (keys.size() == 0) { executeElseNode(model, writer, template); return; } for (Object key : keys) { model.put(getValue(), result.get(key)); model.put(getKey(), key); getBlock().execute(writer, model, template); } }
private void runIterator(Iterator<?> iterator, JadeModel model, IndentWriter writer, JadeTemplate template) { int index = 0; if (!iterator.hasNext()) { executeElseNode(model, writer, template); return; } while (iterator.hasNext()) { model.put(getValue(), iterator.next()); model.put(getKey(), index); getBlock().execute(writer, model, template); index++; } }
public void execute(IndentWriter writer, JadeModel model, JadeTemplate template) throws JadeCompilerException { // Pretty print multi-line text if (writer.isPp() && getNodes().size() > 1 && !writer.isEscape() && getNodes().get(0) instanceof TextNode && getNodes().get(1) instanceof TextNode) writer.prettyIndent(1, true); for (int i = 0; i < getNodes().size(); ++i) { // Pretty print text if (writer.isPp() && i > 0 && !writer.isEscape() && getNodes().get(i) instanceof TextNode && getNodes().get(i - 1) instanceof TextNode) writer.prettyIndent(1, false); getNodes().get(i).execute(writer, model, template); // Multiple text nodes are separated by newlines Node nextNode = null; if(i+1 < getNodes().size()) nextNode = getNodes().get(i + 1); if (nextNode !=null && getNodes().get(i) instanceof TextNode && nextNode instanceof TextNode) writer.append("\n"); } }
@Override public void execute(IndentWriter writer, JadeModel model, JadeTemplate template) throws JadeCompilerException { if (!isBuffered()) { return; } if(writer.isPp()) { writer.prettyIndent(1, true); } writer.append("<!--" + value); block.execute(writer, model, template); if(writer.isPp()) { writer.prettyIndent(1, true); } writer.append("-->"); }
@Override public void execute(IndentWriter writer, JadeModel model, JadeTemplate template) throws JadeCompilerException { try { model.pushScope(); while (template.getExpressionHandler().evaluateBooleanExpression(value, model)) { block.execute(writer, model, template); } model.popScope(); } catch (ExpressionException e) { throw new JadeCompilerException(this, template.getTemplateLoader(), e); } } }
@Override public void execute(IndentWriter writer, JadeModel model, JadeTemplate template) throws JadeCompilerException { try { boolean skip = false; for (Node when : block.getNodes()) { if (skip || "default".equals(when.getValue()) || checkCondition(model, when,template.getExpressionHandler())) { skip = false; if(when.getBlock()!=null) { when.execute(writer, model, template); break; }else { skip = true; } } } } catch (ExpressionException e) { throw new JadeCompilerException(this, template.getTemplateLoader(), e); } }
@Override public void execute(IndentWriter writer, JadeModel model, JadeTemplate template) throws JadeCompilerException { try { Object result = template.getExpressionHandler().evaluateExpression(getValue(), model); if (result == null || !buffer) { return; } String string = result.toString(); if (escape) { string = StringEscapeUtils.escapeHtml4(string); } writer.append(string); if (hasBlock()) { writer.increment(); block.execute(writer, model, template); writer.decrement(); writer.newline(); } } catch (ExpressionException e) { throw new JadeCompilerException(this, template.getTemplateLoader(), e); } }
@Override public void execute(IndentWriter writer, JadeModel model, JadeTemplate template) throws JadeCompilerException { for (IfConditionNode conditionNode : this.conditions) { try { if (conditionNode.isDefault() || checkCondition(model, conditionNode.getValue(),template.getExpressionHandler()) ^ conditionNode.isInverse()) { conditionNode.getBlock().execute(writer, model, template); return; } } catch (ExpressionException e) { throw new JadeCompilerException(conditionNode, template.getTemplateLoader(), e); } } }
@Override public void execute(IndentWriter writer, JadeModel model, JadeTemplate template) throws JadeCompilerException { block.execute(writer, model, template); } }
writeVariables(model, mixin, template); writeAttributes(model, mixin, template); mixin.getBlock().execute(writer, model, template); model.put("block",null); model.popScope();
@Override public void execute(IndentWriter writer, JadeModel model, JadeTemplate template) throws JadeCompilerException { Node node = pollNode(); if(node != null) node.execute(writer, model, template); } }
public void compile(JadeModel model, Writer w) throws JadeCompilerException { IndentWriter writer = new IndentWriter(w); writer.setUseIndent(prettyPrint); rootNode.execute(writer, model, template); }
private void runMap(Map<Object, Object> result, JadeModel model, IndentWriter writer, JadeTemplate template) { Set<Object> keys = result.keySet(); if (keys.size() == 0) { executeElseNode(model, writer, template); return; } for (Object key : keys) { model.put(getValue(), result.get(key)); model.put(getKey(), key); getBlock().execute(writer, model, template); } }