package qls.ast.statement;
import ql.ast.QLType;
import ql.ast.expression.Identifier;
import qls.ast.Statement;
import qls.ast.statement.widget.Widget;
import qls.ast.statement.widget.type.Default;
import qls.ast.visitor.StatementVisitor;
public class Question extends Statement {
private final Identifier identifier;
private Widget widget;
public Question(Identifier identifier) {
this(identifier, new Widget(new Default()));
}
public Question(Identifier identifier, Widget widget) {
this.identifier = identifier;
this.widget = widget;
}
public Identifier getIdentifier() {
return identifier;
}
public Widget getWidget() {
return widget;
}
public boolean hasDefaultWidget() {
return widget.isDefault();
}
public boolean hasCompatibleWidget(QLType type) {
return widget.isCompatibleWith(type);
}
@Override
public <T> T accept(StatementVisitor<T> visitor) {
return visitor.visit(this);
}
@Override
public String toString() {
return "Question";
}
}