66
77public 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