package nl.uva.se.ql.gui.builders; import nl.uva.se.ql.ast.statement.Question; import nl.uva.se.ql.ast.type.BooleanType; import nl.uva.se.ql.ast.type.DecimalType; import nl.uva.se.ql.ast.type.IntegerType; import nl.uva.se.ql.ast.type.StringType; import nl.uva.se.ql.ast.type.TypeVisitor; import nl.uva.se.ql.ast.type.UndefinedType; import nl.uva.se.ql.gui.mediators.Mediator; import nl.uva.se.ql.gui.widgets.questions.calculated.*; @SuppressWarnings("rawtypes") public class CalculatedQuestionBuilder implements TypeVisitor<BaseCalculatedQuestion> { private final Question question; private final Mediator mediator; public CalculatedQuestionBuilder(Question question, Mediator mediator) { this.question = question; this.mediator = mediator; } @Override public BooleanCalculatedQuestion visit(BooleanType booleanType) { return new BooleanCalculatedQuestion(this.question, mediator); } @Override public DecimalCalculatedQuestion visit(DecimalType decimalType) { return new DecimalCalculatedQuestion(this.question, mediator); } @Override public IntegerCalculatedQuestion visit(IntegerType integerType) { return new IntegerCalculatedQuestion(this.question, mediator); } @Override public TextCalculatedQuestion visit(StringType stringType) { return new TextCalculatedQuestion(this.question, mediator); } @Override public UndefinedCalculatedQuestion visit(UndefinedType undefinedType) { return new UndefinedCalculatedQuestion(this.question, mediator); } }