package com.form.language.ast.statement.question; import javax.swing.JPanel; import com.form.language.ast.expression.Expression; import com.form.language.ast.type.Type; import com.form.language.ast.values.GenericValue; import com.form.language.gui.components.FormComponent; import com.form.language.issue.QLToken; import com.form.language.memory.Context; public class ComputedQuestion extends Question { private Expression computation; public ComputedQuestion(String label, String id, Type questionType, Expression expression, QLToken tokenInfo) { super(label, id, questionType, tokenInfo); computation = expression; } public GenericValue getValue(Context context){ return computation.evaluate(context); } public Expression getExpression(){ return computation; } @Override public void createGUIComponent(FormComponent formComponent, JPanel panel, Context context) { formComponent.createGUIComputedQuestion(this, panel, context); } }