private void executeElseNode(JadeModel model, IndentWriter writer, JadeTemplate template) { if (elseNode != null) { elseNode.execute(writer, model, template); } }
private boolean everyIsInline(LinkedList<Node> nodes){ boolean multilineInlineOnlyTag = true; for (Node node : nodes) { if(!isInline(node)) multilineInlineOnlyTag = false; } return multilineInlineOnlyTag; } public boolean canInline (){
@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); } } }
private Node parseAssignment() { Token token = expect(Assignment.class); Token assignmentToken = (Assignment) token; Node node = new AssigmentNode(); node.setName(assignmentToken.getName()); node.setValue(assignmentToken.getValue()); node.setLineNumber(assignmentToken.getLineNumber()); node.setFileName(filename); return node; }
private boolean isEmpty() { return !hasBlock() && !hasTextNode() && !hasCodeNode(); }
private boolean isInline(Node node){ // Recurse if the node is a block if (node instanceof BlockNode) return everyIsInline(node.getNodes()); return node instanceof TextNode || (ArrayUtils.indexOf(inlineTags,node.getName()) > -1); } private boolean everyIsInline(LinkedList<Node> nodes){
public String getAttribute(String key) { for (int i = 0, len = this.attributes.size(); i < len; ++i) { if (this.attributes.get(i) != null && this.attributes.get(i).getName().equals(key)) { return attributeValueToString(this.attributes.get(i).getValue()); } } return null; }
/** * default */ private Node parseDefault(){ expect(Default.class); Node when = new CaseNode.When(); when.setValue("default"); when.setBlock(this.parseBlockExpansion()); return when; }
public JadeCompilerException(Node node, TemplateLoader templateLoader, String message) { super(message, node.getFileName(), node.getLineNumber(), templateLoader, null); }
private Object evaluateExpression(ExpressionString attribute, JadeModel model, ExpressionHandler expressionHandler) throws ExpressionException { String expression = ((ExpressionString) attribute).getValue(); Object result = expressionHandler.evaluateExpression(expression, model); if (result instanceof ExpressionString) { return evaluateExpression((ExpressionString) result, model, expressionHandler); } return result; }
@Override public CaseNode clone() throws CloneNotSupportedException { CaseNode clone = (CaseNode) super.clone(); clone.caseConditionNodes = new LinkedList<CaseConditionNode>(); for(CaseConditionNode condition : caseConditionNodes) { clone.caseConditionNodes.add((CaseConditionNode) condition.clone()); } return clone; } }
public void setValue(String value) { this.value = value; prepare(); }
@Override public void setValue(String value) { super.setValue(value); } }
public TagNode() { this.block = new BlockNode(); }
@Override public void execute(IndentWriter writer, JadeModel model, JadeTemplate template) throws JadeCompilerException { block.execute(writer, model, template); } }
public void appendText(String txt) { value += txt; prepare(); }
@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); }