package de.neuland.jade4j.parser.node; import java.util.LinkedList; import java.util.List; import de.neuland.jade4j.compiler.IndentWriter; import de.neuland.jade4j.compiler.Utils; 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 TextNode extends Node { private String value = ""; private List<Object> preparedValue = new LinkedList<Object>(); public void appendText(String txt) { value += txt; prepare(); } public void setValue(String value) { this.value = value; prepare(); } public String getValue() { return value; } private void prepare() { preparedValue = Utils.prepareInterpolate(value, false); } @Override public void execute(IndentWriter writer, JadeModel model, JadeTemplate template) throws JadeCompilerException { try { String string = Utils.interpolate(preparedValue, model,template.getExpressionHandler()); writer.append(string); } catch (ExpressionException e) { throw new JadeCompilerException(this, template.getTemplateLoader(), e); } } public void addNode(Node node) { nodes.add(node); } public LinkedList<Node> getNodes() { return nodes; } }