package de.neuland.jade4j.parser.node; import de.neuland.jade4j.compiler.IndentWriter; import de.neuland.jade4j.exceptions.ExpressionException; import de.neuland.jade4j.exceptions.JadeCompilerException; import de.neuland.jade4j.model.JadeModel; import de.neuland.jade4j.template.JadeTemplate; public class WhileNode extends Node { @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); } } }