X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Foutput%2Ftemplate%2FOutputVariableCommand.java;h=5dce3aed211c1c45452d96929e6e0c3c9484dabe;hb=5207476641f1bf10637937555a70e5c8bd5979b6;hp=900b557d81aeae917b2a36c6d64eefa2a64fadc4;hpb=ffab4ac1fae1a58919c7dde59d90c75df096512c;p=gigi.git diff --git a/src/org/cacert/gigi/output/template/OutputVariableCommand.java b/src/org/cacert/gigi/output/template/OutputVariableCommand.java index 900b557d..5dce3aed 100644 --- a/src/org/cacert/gigi/output/template/OutputVariableCommand.java +++ b/src/org/cacert/gigi/output/template/OutputVariableCommand.java @@ -1,20 +1,42 @@ package org.cacert.gigi.output.template; import java.io.PrintWriter; +import java.util.Collection; import java.util.Map; -import org.cacert.gigi.Language; -import org.cacert.gigi.output.Outputable; +import org.cacert.gigi.localisation.Language; -final class OutputVariableCommand implements Outputable { - private final String raw; +/** + * Emits a variable. + */ +public final class OutputVariableCommand implements Translatable { - OutputVariableCommand(String raw) { - this.raw = raw; - } + private final String raw; - @Override - public void output(PrintWriter out, Language l, Map vars) { - Template.outputVar(out, l, vars, raw); - } -} \ No newline at end of file + private final boolean unescaped; + + /** + * Creates a new OutputVariableCommand. + * + * @param raw + * the variable to emit. If starting with ! the + * variable is emitted non-HTML-escaped. + */ + public OutputVariableCommand(String raw) { + if (raw.charAt(0) == '!') { + unescaped = true; + this.raw = raw.substring(1); + } else { + unescaped = false; + this.raw = raw; + } + } + + @Override + public void output(PrintWriter out, Language l, Map vars) { + Template.outputVar(out, l, vars, raw, unescaped); + } + + @Override + public void addTranslations(Collection s) {} +}