package nl.uva.se.ql.gui.builders; import nl.uva.se.ql.ast.statement.CalculatedQuestion; import nl.uva.se.ql.ast.statement.Condition; import nl.uva.se.ql.ast.statement.Question; import nl.uva.se.ql.ast.statement.StatementVisitor; import nl.uva.se.ql.gui.mediators.Mediator; import nl.uva.se.ql.gui.widgets.boxes.ConditionBox; import nl.uva.se.ql.gui.widgets.boxes.QuestionBox; public class ConditionBuilder implements StatementVisitor{ private final ConditionBox conditionBox; private final Mediator mediator; public ConditionBuilder(Condition condition, Mediator mediator){ this.conditionBox = new ConditionBox(condition); this.mediator = mediator; visit(condition); } @Override public void visit(Question question) { QuestionBox questionBox = new QuestionBox(question, mediator); this.conditionBox.addBox(questionBox); } @Override public void visit(CalculatedQuestion calculatedQuestion) { QuestionBox questionBox = new QuestionBox(calculatedQuestion, mediator); this.conditionBox.addBox(questionBox); } @Override public void visit(Condition condition) { condition.visitChildren(this); } public ConditionBox getConditionBox(){ return this.conditionBox; } }