@Override public IfExpression compile(JtwigResource resource) throws CompileException { this.content = content.compile(resource); for (int i = 0;i<this.elseIfExpressions.size();i++) elseIfExpressions.set(i, elseIfExpressions.get(i).compile(resource)); if (elseExpression != null) elseExpression = elseExpression.compile(resource); return this; }
@Override public boolean replace(Block expression) throws CompileException { boolean replaced = this.content.replace(expression); for (int i = 0;i<this.elseIfExpressions.size();i++) replaced = replaced || elseIfExpressions.get(i).replace(expression); if (elseExpression != null) replaced = replaced || elseExpression.replace(expression); return replaced; }
closeCode(), content(), ((IfExpression) peek(1)).setElseExpression(new IfExpression.ElseExpression((JtwigContent) pop()))
closeCode(), content(), ((IfExpression) peek(1)).setElseExpression(new IfExpression.ElseExpression((JtwigContent) pop()))
@Override public boolean render(OutputStream outputStream, JtwigContext context) throws RenderException { try { if (isTrue(conditionalExpression.calculate(context))) { return content.render(outputStream, context); } else { for (ElseIfExpression exp : elseIfExpressions) { if (exp.render(outputStream, context)) return true; } if (elseExpression != null) { return elseExpression.render(outputStream, context); } return true; } } catch (CalculateException e) { throw new RenderException(e); } }
@Override public boolean render(OutputStream outputStream, JtwigContext context) throws RenderException { try { if (isTrue(conditionalExpression.calculate(context))) { return content.render(outputStream, context); } else { for (ElseIfExpression exp : elseIfExpressions) { if (exp.render(outputStream, context)) return true; } if (elseExpression != null) { return elseExpression.render(outputStream, context); } return true; } } catch (CalculateException e) { throw new RenderException(e); } }
@Override public IfExpression compile(JtwigResource resource) throws CompileException { this.content = content.compile(resource); for (int i = 0;i<this.elseIfExpressions.size();i++) elseIfExpressions.set(i, elseIfExpressions.get(i).compile(resource)); if (elseExpression != null) elseExpression = elseExpression.compile(resource); return this; }
@Override public boolean replace(Block expression) throws CompileException { boolean replaced = this.content.replace(expression); for (int i = 0;i<this.elseIfExpressions.size();i++) replaced = replaced || elseIfExpressions.get(i).replace(expression); if (elseExpression != null) replaced = replaced || elseExpression.replace(expression); return replaced; }