package org.uva.qls.ast.sheet;
import java.util.List;
import org.uva.qls.ast.BaseNode;
import org.uva.qls.ast.CodePosition;
import org.uva.qls.ast.literal.StrLiteral;
import org.uva.qls.visitor.SheetVisitable;
import org.uva.qls.visitor.SheetVisitor;
public class Section extends BaseNode implements SheetVisitable {
private final StrLiteral sectionTitle;
private final List<Style> styleList;
private final List<Question> questionList;
public Section(StrLiteral sectionTitle, List<Style> styleList, List<Question> questionList, CodePosition pos) {
super(pos);
this.sectionTitle = sectionTitle;
this.styleList = styleList;
this.questionList = questionList;
}
public StrLiteral getSectionTitle() {
return sectionTitle;
}
public Style getStyle(int i) {
return styleList.get(i);
}
public List<Style> getStyleList() {
return styleList;
}
public Question getQuestion(int i) {
return questionList.get(i);
}
public List<Question> getQuestionList() {
return questionList;
}
@Override
public String toString() {
return sectionTitle.toString();
}
@Override
public <T> T accept(SheetVisitor<T> visitor) {
return visitor.visit(this);
}
}