]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/output/template/SprintfCommand.java
Split of inner anonymous classes of "Template"
[gigi.git] / src / org / cacert / gigi / output / template / SprintfCommand.java
diff --git a/src/org/cacert/gigi/output/template/SprintfCommand.java b/src/org/cacert/gigi/output/template/SprintfCommand.java
new file mode 100644 (file)
index 0000000..24608d2
--- /dev/null
@@ -0,0 +1,29 @@
+package org.cacert.gigi.output.template;
+
+import java.io.PrintWriter;
+import java.util.LinkedList;
+import java.util.Map;
+
+import org.cacert.gigi.Language;
+import org.cacert.gigi.output.Outputable;
+
+final class SprintfCommand implements Outputable {
+       private final String text;
+       private final LinkedList<String> store;
+
+       SprintfCommand(String text, LinkedList<String> store) {
+               this.text = text;
+               this.store = store;
+       }
+
+       @Override
+       public void output(PrintWriter out, Language l, Map<String, Object> vars) {
+               String[] parts = l.getTranslation(text).split("%s");
+               String[] myvars = store.toArray(new String[store.size()]);
+               out.print(parts[0]);
+               for (int j = 1; j < parts.length; j++) {
+                       Template.outputVar(out, l, vars, myvars[j - 1].substring(1));
+                       out.print(parts[j]);
+               }
+       }
+}
\ No newline at end of file