summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2018-09-06 23:02:52 -0400
committerPaul Duncan <pabs@pablotron.org>2018-09-06 23:02:52 -0400
commit163e6cf03d369f0b062c8aa19fb26c5892bc2b05 (patch)
treed1d7d6e25295bf5bb6bdea1f15334bdd76256a28
parent59cceaa10ae533210a58089a94c67a5f288443d2 (diff)
downloadluigi-template-163e6cf03d369f0b062c8aa19fb26c5892bc2b05.tar.bz2
luigi-template-163e6cf03d369f0b062c8aa19fb26c5892bc2b05.zip
java: document actions
-rw-r--r--java/src/main/java/org/pablotron/luigi/actions/Action.java16
-rw-r--r--java/src/main/java/org/pablotron/luigi/actions/FilterAction.java29
-rw-r--r--java/src/main/java/org/pablotron/luigi/actions/TextAction.java22
3 files changed, 65 insertions, 2 deletions
diff --git a/java/src/main/java/org/pablotron/luigi/actions/Action.java b/java/src/main/java/org/pablotron/luigi/actions/Action.java
index a473f62..0b1fb6b 100644
--- a/java/src/main/java/org/pablotron/luigi/actions/Action.java
+++ b/java/src/main/java/org/pablotron/luigi/actions/Action.java
@@ -1,12 +1,26 @@
package org.pablotron.luigi.actions;
import java.util.Map;
+
import org.pablotron.luigi.Filter;
import org.pablotron.luigi.errors.LuigiError;
+/**
+ * Parser action.
+ */
public interface Action {
+ /**
+ * Called during template run to expand given action.
+ *
+ * @param filters Template filters.
+ * @param filters Run argument map.
+ *
+ * @return Action result.
+ *
+ * @throws LuigiError If an error occurs while running this action.
+ */
public String run(
- Map<String, Filter.Handler> filters,
+ Map<String, Filter.Handler> filters,
Map<String, String> args
) throws LuigiError;
};
diff --git a/java/src/main/java/org/pablotron/luigi/actions/FilterAction.java b/java/src/main/java/org/pablotron/luigi/actions/FilterAction.java
index 091a285..39fd48c 100644
--- a/java/src/main/java/org/pablotron/luigi/actions/FilterAction.java
+++ b/java/src/main/java/org/pablotron/luigi/actions/FilterAction.java
@@ -1,6 +1,7 @@
package org.pablotron.luigi.actions;
import java.util.Map;
+
import org.pablotron.luigi.actions.Action;
import org.pablotron.luigi.FilterReference;
import org.pablotron.luigi.Filter;
@@ -8,15 +9,41 @@ import org.pablotron.luigi.errors.LuigiError;
import org.pablotron.luigi.errors.UnknownFilterError;
import org.pablotron.luigi.errors.UnknownKeyError;
+/**
+ * Action that expands the given key and applies any specified filters.
+ */
public final class FilterAction implements Action {
+ /**
+ * Value key.
+ */
private final String key;
+
+ /**
+ * Array of filters to apply to value.
+ */
private final FilterReference filters[];
+ /**
+ * Create a new FilterAction.
+ *
+ * @param key Template run argument key.
+ * @param filters Array of filter references.
+ */
public FilterAction(final String key, final FilterReference filters[]) {
this.key = key;
this.filters = filters;
}
+ /**
+ * Run this filter action and return the result as a string.
+ *
+ * @param filters Template filters.
+ * @param key Template run arguments.
+ *
+ * @return Action result.
+ *
+ * @throws LuigiError If an error occured while running this action.
+ */
public String run(
Map<String, Filter.Handler> filters,
Map<String, String> args
@@ -33,7 +60,7 @@ public final class FilterAction implements Action {
if (f == null)
throw new UnknownFilterError(this.filters[i].name);
- // run filter
+ // run filter
r = f.filter(r, this.filters[i].args, args);
}
diff --git a/java/src/main/java/org/pablotron/luigi/actions/TextAction.java b/java/src/main/java/org/pablotron/luigi/actions/TextAction.java
index 32487be..4cd8aa0 100644
--- a/java/src/main/java/org/pablotron/luigi/actions/TextAction.java
+++ b/java/src/main/java/org/pablotron/luigi/actions/TextAction.java
@@ -1,17 +1,39 @@
package org.pablotron.luigi.actions;
import java.util.Map;
+
import org.pablotron.luigi.actions.Action;
import org.pablotron.luigi.Filter;
import org.pablotron.luigi.errors.LuigiError;
+/**
+ * Action that returns a text literal.
+ */
public final class TextAction implements Action {
+ /**
+ * Text literal.
+ */
private final String text;
+ /**
+ * Create a new text action with the given text.
+ *
+ * @param text Text literal.
+ */
public TextAction(final String text) {
this.text = text;
}
+ /**
+ * Run action and return text literal.
+ *
+ * @param filters Template filters (ignored).
+ * @param key Template run arguments (ignored).
+ *
+ * @return Text literal.
+ *
+ * @throws LuigiError If an error occured while running this action.
+ */
public String run(
final Map<String, Filter.Handler> filters,
final Map<String, String> args