Replace Fetched with Kotlin version
[Sone.git] / src / main / java / net / pterodactylus / sone / main / ReparseFilter.java
1 package net.pterodactylus.sone.main;
2
3 import java.io.StringReader;
4 import java.io.StringWriter;
5 import java.util.Map;
6
7 import net.pterodactylus.util.template.Filter;
8 import net.pterodactylus.util.template.Template;
9 import net.pterodactylus.util.template.TemplateContext;
10 import net.pterodactylus.util.template.TemplateException;
11 import net.pterodactylus.util.template.TemplateParser;
12
13 /**
14  * Takes the input and parses it as a new {@link Template}.
15  *
16  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
17  */
18 public class ReparseFilter implements Filter {
19
20         @Override
21         public Object format(TemplateContext templateContext, Object data, Map<String, Object> parameters) {
22                 Template template = TemplateParser.parse(new StringReader(String.valueOf(data)));
23                 StringWriter stringWriter = new StringWriter();
24                 try {
25                         template.render(templateContext, stringWriter);
26                 } catch (TemplateException e) {
27                         throw new RuntimeException(e);
28                 } finally {
29                         return stringWriter.toString();
30                 }
31         }
32
33 }