1 package org.cacert.gigi.output.template;
3 import java.io.PrintWriter;
4 import java.util.Collection;
7 import org.cacert.gigi.localisation.Language;
9 public final class IfStatement implements Translatable {
11 private final String variable;
13 private final TemplateBlock iftrue;
15 private final TemplateBlock iffalse;
17 public IfStatement(String variable, TemplateBlock body) {
18 this.variable = variable;
23 public IfStatement(String variable, TemplateBlock iftrue, TemplateBlock iffalse) {
24 this.variable = variable;
26 this.iffalse = iffalse;
30 public void output(PrintWriter out, Language l, Map<String, Object> vars) {
31 Object o = vars.get(variable);
33 if ( !(o == null || Boolean.FALSE.equals(o))) {
34 iftrue.output(out, l, vars);
35 } else if (iffalse != null) {
36 iffalse.output(out, l, vars);
41 public void addTranslations(Collection<String> s) {
42 iftrue.addTranslations(s);
43 if (iffalse != null) {
44 iffalse.addTranslations(s);