package org.uva.qls.ast.sheet; import java.util.ArrayList; import java.util.List; import org.uva.qls.ast.BaseNode; import org.uva.qls.ast.CodePosition; import org.uva.qls.ast.literal.IdentifierLiteral; import org.uva.qls.visitor.SheetVisitable; import org.uva.qls.visitor.SheetVisitor; public class Sheet extends BaseNode implements SheetVisitable { private final IdentifierLiteral identifier; private final List<Page> pageList; public Sheet(IdentifierLiteral name, CodePosition pos) { super(pos); this.identifier = name; pageList = new ArrayList<Page>(); } public void addPage(Page page) { pageList.add(page); } public IdentifierLiteral getIdentifier() { return identifier; } public List<Page> getPageList() { return pageList; } @Override public String toString() { return identifier.getValue().toString(); } @Override public <T> T accept(SheetVisitor<T> visitor) { return visitor.visit(this); } }