diff options
author | pabs@pablotron.org <pabs@pablotron.org> | 2014-12-18 15:10:23 -0500 |
---|---|---|
committer | pabs@pablotron.org <pabs@pablotron.org> | 2014-12-18 15:10:23 -0500 |
commit | 750550e6df3cf8c9013f7fa455218b8d3847e181 (patch) | |
tree | ebe5067d888da30367a4d738b08cd07025d9a386 /java/pablotron/luigi/Template.java | |
parent | 0585aba994f725566191d20f11af5e13d575985c (diff) | |
download | luigi-template-750550e6df3cf8c9013f7fa455218b8d3847e181.tar.bz2 luigi-template-750550e6df3cf8c9013f7fa455218b8d3847e181.zip |
add java implementation
Diffstat (limited to 'java/pablotron/luigi/Template.java')
-rw-r--r-- | java/pablotron/luigi/Template.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/java/pablotron/luigi/Template.java b/java/pablotron/luigi/Template.java new file mode 100644 index 0000000..2bf0bb7 --- /dev/null +++ b/java/pablotron/luigi/Template.java @@ -0,0 +1,37 @@ +package pablotron.luigi; + +import java.util.Map; +import pablotron.luigi.Parser; +import pablotron.luigi.Filter; +import pablotron.luigi.LuigiError; +import pablotron.luigi.actions.Action; + +public final class Template { + private static final String VERSION = "0.4.0"; + + private final String template; + private final Action actions[]; + private final Map<String, Filter.Handler> filters; + + public Template( + final String template, + final Map<String, Filter.Handler> filters + ) throws LuigiError { + this.template = template; + this.filters = filters; + this.actions = Parser.parse_template(template); + } + + public Template(final String template) throws LuigiError { + this(template, Filter.FILTERS); + } + + public String run(Map<String, String> args) throws LuigiError { + StringBuilder r = new StringBuilder(); + + for (Action a: this.actions) + r.append(a.run(this.filters, args)); + + return r.toString(); + } +}; |