package org.esmerilprogramming.overtown.view;
import java.io.IOException;
import java.io.StringWriter;
import org.esmerilprogramming.overtown.server.ConfigurationHolder;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
public class ViewParser {
private Configuration cfg = new Configuration();
public ViewParser( ConfigurationHolder configHandler ) throws IOException {
cfg = configHandler.getFreemarkerConfig();
}
public final String parse(ViewAttributes viewAttributes, String templateName)
throws TemplateException, IOException {
Template t = cfg.getTemplate(templateName);
try( StringWriter writer = new StringWriter() ){
t.process(viewAttributes.getAsMap(), writer);
writer.flush();
return writer.toString();
}
}
}