X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FReparseFilter.java;fp=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FReparseFilter.java;h=acad00b0b504362144d972d1498c9d707b52ce79;hb=89fe86e5fa64ad57b90b9b898e4fc03d29da5a63;hp=0000000000000000000000000000000000000000;hpb=b64a9dcfdd584c6c6b7da45066b27bcc17cf6942;p=Sone.git
diff --git a/src/main/java/net/pterodactylus/sone/main/ReparseFilter.java b/src/main/java/net/pterodactylus/sone/main/ReparseFilter.java
new file mode 100644
index 0000000..acad00b
--- /dev/null
+++ b/src/main/java/net/pterodactylus/sone/main/ReparseFilter.java
@@ -0,0 +1,33 @@
+package net.pterodactylus.sone.main;
+
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.Map;
+
+import net.pterodactylus.util.template.Filter;
+import net.pterodactylus.util.template.Template;
+import net.pterodactylus.util.template.TemplateContext;
+import net.pterodactylus.util.template.TemplateException;
+import net.pterodactylus.util.template.TemplateParser;
+
+/**
+ * Takes the input and parses it as a new {@link Template}.
+ *
+ * @author David âBombeâ Roden
+ */
+public class ReparseFilter implements Filter {
+
+ @Override
+ public Object format(TemplateContext templateContext, Object data, Map parameters) {
+ Template template = TemplateParser.parse(new StringReader(String.valueOf(data)));
+ StringWriter stringWriter = new StringWriter();
+ try {
+ template.render(templateContext, stringWriter);
+ } catch (TemplateException e) {
+ throw new RuntimeException(e);
+ } finally {
+ return stringWriter.toString();
+ }
+ }
+
+}