X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Foutput%2Ftemplate%2FOutputVariableCommand.java;h=5dce3aed211c1c45452d96929e6e0c3c9484dabe;hb=bead06ac89a5fbe282dab187c5d1babbb7dcdf66;hp=b0f7849939ad8328e3303608a42a12881e3c4660;hpb=aab4ada5bc95c12edd9db623c4a78e26866691dc;p=gigi.git diff --git a/src/org/cacert/gigi/output/template/OutputVariableCommand.java b/src/org/cacert/gigi/output/template/OutputVariableCommand.java index b0f78499..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; -public final class OutputVariableCommand implements Outputable { - private final String raw; +/** + * Emits a variable. + */ +public final class OutputVariableCommand implements Translatable { - public 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) {} +}