diff options
-rw-r--r-- | java/src/main/java/org/pablotron/luigi/Template.java | 101 |
1 files changed, 98 insertions, 3 deletions
diff --git a/java/src/main/java/org/pablotron/luigi/Template.java b/java/src/main/java/org/pablotron/luigi/Template.java index 8ce8793..af3e49b 100644 --- a/java/src/main/java/org/pablotron/luigi/Template.java +++ b/java/src/main/java/org/pablotron/luigi/Template.java @@ -4,15 +4,28 @@ import java.util.Map; import org.pablotron.luigi.Parser; import org.pablotron.luigi.Filter; import org.pablotron.luigi.errors.LuigiError; +import org.pablotron.luigi.errors.LuigiError; import org.pablotron.luigi.actions.Action; +/** + * Template class. + */ public final class Template { - private static final String VERSION = "0.4.0"; + /** + * Luigi template version. + */ + public static final String VERSION = "0.4.0"; private final String template; private final Action actions[]; private final Map<String, Filter.Handler> filters; + /** + * Create a new template with the given string and filter set. + * + * @param template Template string. + * @param filters Map of filter names to filter handlers. + */ public Template( final String template, final Map<String, Filter.Handler> filters @@ -22,10 +35,26 @@ public final class Template { this.actions = Parser.parse_template(template); } + /** + * Create a new template with the given string and the default filter + * set. + * + * @param template Template string. + */ public Template(final String template) throws LuigiError { this(template, Filter.FILTERS); } + /** + * Run this template with given arguments, then return the result as a + * String. + * + * @param args Template arguments. + * + * @throws UnknownKeyError If a key specified in the template does not exist. + * @throws UnknownFilterError If a filter specified in the template does not exist. + * @throws FilterError If a given filter fails. + */ public String run(final Map<String, String> args) throws LuigiError { final StringBuilder r = new StringBuilder(); @@ -35,6 +64,17 @@ public final class Template { return r.toString(); } + /** + * Run this template with given arguments, and pass each result chunks + * to the given result handler. + * + * @param args Template arguments. + * @param rh Result handler. + * + * @throws UnknownKeyError If a key specified in the template does not exist. + * @throws UnknownFilterError If a filter specified in the template does not exist. + * @throws FilterError If a given filter fails. + */ public void run( final Map<String, String> args, final ResultHandler r @@ -44,10 +84,26 @@ public final class Template { } } + /** + * Return the original template string for this Template instance. + */ public String toString() { return this.template; } + /** + * Create and run template with given arguments, using the default + * filter set, then return the result as a String. + * + * @param template Template string. + * @param args Template arguments. + * + * @return Template expansion result. + * + * @throws UnknownKeyError If a key specified in the template does not exist. + * @throws UnknownFilterError If a filter specified in the template does not exist. + * @throws FilterError If a given filter fails. + */ public static String run( final String template, final Map<String, String> args @@ -55,14 +111,40 @@ public final class Template { return Template.run(template, args, Filter.FILTERS); } + /** + * Create and run template with given arguments and result handler, + * using the default filter set. + * + * @param template Template string. + * @param args Template arguments. + * @param rh Result handler that result chunks are passed to. + * + * @throws UnknownKeyError If a key specified in the template does not exist. + * @throws UnknownFilterError If a filter specified in the template does not exist. + * @throws FilterError If a given filter fails. + */ public static void run( final String template, final Map<String, String> args, - final ResultHandler r + final ResultHandler rh ) throws LuigiError { - run(template, args, Filter.FILTERS, r); + run(template, args, Filter.FILTERS, rh); } + /** + * Create and run template with given arguments, and filters, then + * return the result as a String. + * + * @param template Template string. + * @param args Template arguments. + * @param filters Template filters. + * + * @return Template expansion result. + * + * @throws UnknownKeyError If a key specified in the template does not exist. + * @throws UnknownFilterError If a filter specified in the template does not exist. + * @throws FilterError If a given filter fails. + */ public static String run( final String template, final Map<String, String> args, @@ -72,6 +154,19 @@ public final class Template { return t.run(args); } + /** + * Create and run template with given arguments, filters, and result + * handler. + * + * @param template Template string. + * @param args Template arguments. + * @param filters Template filters. + * @param rh Result handler that result chunks are passed to. + * + * @throws UnknownKeyError If a key specified in the template does not exist. + * @throws UnknownFilterError If a filter specified in the template does not exist. + * @throws FilterError If a given filter fails. + */ public static void run( final String template, final Map<String, String> args, |