]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/output/ArrayIterable.java
add: Allow multiple names, name-schemes, multi-name-assurance, etc.
[gigi.git] / src / org / cacert / gigi / output / ArrayIterable.java
diff --git a/src/org/cacert/gigi/output/ArrayIterable.java b/src/org/cacert/gigi/output/ArrayIterable.java
new file mode 100644 (file)
index 0000000..90bad43
--- /dev/null
@@ -0,0 +1,30 @@
+package org.cacert.gigi.output;
+
+import java.util.Map;
+
+import org.cacert.gigi.localisation.Language;
+import org.cacert.gigi.output.template.IterableDataset;
+
+public abstract class ArrayIterable<T> implements IterableDataset {
+
+    private T[] dt;
+
+    protected int i = 0;
+
+    public ArrayIterable(T[] dt) {
+        this.dt = dt;
+    }
+
+    @Override
+    public boolean next(Language l, Map<String, Object> vars) {
+        if (i >= dt.length) {
+            return false;
+        }
+        apply(dt[i], l, vars);
+        i++;
+        return true;
+    }
+
+    public abstract void apply(T t, Language l, Map<String, Object> vars);
+
+}