package nl.uva.sc.encoders.qls.ast; import static nl.uva.sc.encoders.ql.ast.TextLocationBuilder.aTextLocation; import static nl.uva.sc.encoders.qls.ast.SectionBuilder.aSection; import java.util.ArrayList; import java.util.List; import nl.uva.sc.encoders.ql.ast.TextLocation; public class PageBuilder { private TextLocation textLocation; private String name; private List<Section> sections = new ArrayList<Section>(); private List<DefaultStyle> pageDefaultStyles = new ArrayList<>(); public static PageBuilder aPage() { PageBuilder pageBuilder = new PageBuilder(); pageBuilder.textLocation = aTextLocation().build(); pageBuilder.name = "SomePage"; pageBuilder.sections.add(aSection().build()); return pageBuilder; } public Page build() { return new Page(textLocation, name, sections, pageDefaultStyles); } public PageBuilder withSections(List<Section> sections) { this.sections = sections; return this; } }