Skip to content

Commit 61de92b

Browse files
Lazy template engine
1 parent 82ed02c commit 61de92b

1 file changed

Lines changed: 9 additions & 11 deletions

File tree

core/src/main/java/dev/vml/es/acm/core/format/TemplateFormatter.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,10 @@
66

77
public class TemplateFormatter {
88

9-
private final GStringTemplateEngine engine;
10-
11-
public TemplateFormatter() {
12-
this.engine = new GStringTemplateEngine();
13-
}
14-
159
public String renderString(String template, Map<?, ?> vars) {
1610
try {
1711
Writer writer = new StringWriter();
18-
engine.createTemplate(template).make(vars).writeTo(writer);
12+
getEngine().createTemplate(template).make(vars).writeTo(writer);
1913
return writer.toString();
2014
} catch (Exception e) {
2115
throw new FormatException("Cannot render template from & to string!", e);
@@ -24,7 +18,7 @@ public String renderString(String template, Map<?, ?> vars) {
2418

2519
public void renderFromString(String template, Map<?, ?> vars, Writer writer) {
2620
try {
27-
engine.createTemplate(template).make(vars).writeTo(writer);
21+
getEngine().createTemplate(template).make(vars).writeTo(writer);
2822
} catch (Exception e) {
2923
throw new FormatException("Cannot render template from string!", e);
3024
}
@@ -33,7 +27,7 @@ public void renderFromString(String template, Map<?, ?> vars, Writer writer) {
3327
public String renderToString(Reader reader, Map<?, ?> vars) {
3428
try {
3529
Writer writer = new StringWriter();
36-
engine.createTemplate(reader).make(vars).writeTo(writer);
30+
getEngine().createTemplate(reader).make(vars).writeTo(writer);
3731
return writer.toString();
3832
} catch (Exception e) {
3933
throw new FormatException("Cannot render template to string!", e);
@@ -43,17 +37,21 @@ public String renderToString(Reader reader, Map<?, ?> vars) {
4337
public void render(InputStream inputStream, Map<?, ?> vars, OutputStream outputStream) {
4438
try (Reader reader = new InputStreamReader(inputStream);
4539
Writer writer = new OutputStreamWriter(outputStream)) {
46-
engine.createTemplate(reader).make(vars).writeTo(writer);
40+
getEngine().createTemplate(reader).make(vars).writeTo(writer);
4741
} catch (Exception e) {
4842
throw new FormatException("Cannot render template!", e);
4943
}
5044
}
5145

5246
public void render(Reader reader, Map<?, ?> vars, Writer writer) {
5347
try {
54-
engine.createTemplate(reader).make(vars).writeTo(writer);
48+
getEngine().createTemplate(reader).make(vars).writeTo(writer);
5549
} catch (Exception e) {
5650
throw new FormatException("Cannot render template!", e);
5751
}
5852
}
53+
54+
private GStringTemplateEngine getEngine() {
55+
return new GStringTemplateEngine();
56+
}
5957
}

0 commit comments

Comments
 (0)