package com.elibom.jogger.template;
import java.io.Writer;
import java.util.Map;
import de.neuland.jade4j.JadeConfiguration;
import de.neuland.jade4j.template.JadeTemplate;
/**
* A {@link TemplateEngine} implementation for <a href="https://github.com/neuland/jade4j">Jade</a>.
*
* @author German Escobar
*/
public class JadeTemplateEngine implements TemplateEngine {
private JadeConfiguration jadeConfig;
public JadeTemplateEngine() {
this(new JadeConfiguration());
}
public JadeTemplateEngine(JadeConfiguration jadeConfig) {
this.jadeConfig = jadeConfig;
}
@Override
public void render(String templateName, Map<String, Object> root, Writer writer) throws TemplateException {
try {
JadeTemplate template = jadeConfig.getTemplate(templateName);
jadeConfig.renderTemplate(template, root, writer);
} catch(Exception e) {
throw new TemplateException(e);
}
}
}