package io.trygvis.rules.engine; import ch.qos.logback.core.util.FileUtil; import com.hubspot.jinjava.Jinjava; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.Map; public class TemplateEngine { private final Jinjava jinjava = new Jinjava(); public void template(String name, String output, Map params) throws IOException { var template = Files.readString(Path.of("j2", name + ".j2")); String renderedTemplate = jinjava.render(template, params); // System.out.println("-----------------------------------"); // for (var item : params.entrySet()) { // System.out.printf(" %s : %s%n", item.getKey(), item.getValue()); // } System.out.println("-----------------------------------"); System.out.println(renderedTemplate); System.out.println("-----------------------------------"); var f = new File("gen", output); FileUtil.createMissingParentDirectories(f); Files.writeString(f.toPath(), renderedTemplate); } }