
de.neuland.jade4j.template.JadeTemplate Maven / Gradle / Ivy
package de.neuland.jade4j.template;
import java.io.Writer;
import de.neuland.jade4j.Jade4J;
import de.neuland.jade4j.Jade4J.Mode;
import de.neuland.jade4j.compiler.Compiler;
import de.neuland.jade4j.exceptions.JadeCompilerException;
import de.neuland.jade4j.expression.ExpressionHandler;
import de.neuland.jade4j.lexer.token.Doctypes;
import de.neuland.jade4j.model.JadeModel;
import de.neuland.jade4j.parser.node.Node;
public class JadeTemplate {
private boolean prettyPrint = false;
private Node rootNode;
private boolean terse = false;
private boolean xml = false;
private TemplateLoader templateLoader;
private ExpressionHandler expressionHandler;
private String doctypeLine;
public void process(JadeModel model, Writer writer) throws JadeCompilerException {
Compiler compiler = new Compiler(rootNode);
compiler.setPrettyPrint(prettyPrint);
compiler.setTemplate(this);
compiler.setExpressionHandler(expressionHandler);
compiler.compile(model, writer);
}
public boolean isPrettyPrint() {
return prettyPrint;
}
public void setPrettyPrint(boolean prettyPrint) {
this.prettyPrint = prettyPrint;
}
public Node getRootNode() {
return rootNode;
}
public void setRootNode(Node rootNode) {
this.rootNode = rootNode;
}
public boolean isTerse() {
return terse;
}
public boolean isXml() {
return xml;
}
public void setTemplateLoader(TemplateLoader templateLoader) {
this.templateLoader = templateLoader;
}
public TemplateLoader getTemplateLoader() {
return templateLoader;
}
public void setDoctype(String name){
if (name == null) {
name = "default";
}
doctypeLine = Doctypes.get(name);
if (doctypeLine == null) {
doctypeLine = "";
}
this.terse = "".equals(this.doctypeLine.toLowerCase());
this.xml = doctypeLine.startsWith("
© 2015 - 2025 Weber Informatics LLC | Privacy Policy