/******************************************************************************* * Copyright (c) 2014 antoniomariasanchez at gmail.com. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/gpl.html * * Contributors: * antoniomaria - initial API and implementation ******************************************************************************/ package net.sf.gazpachoquest.dto; import java.io.Serializable; import java.util.ArrayList; import java.util.Collections; import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnore; @SuppressWarnings("serial") public class QuestionnairePageDTO implements Serializable { private final List<SectionDTO> sections = new ArrayList<>(); private PageMetadataDTO metadata; private boolean sectionInfoAvailable; public QuestionnairePageDTO() { super(); } public void addSection(SectionDTO section) { sections.add(section); } public List<SectionDTO> getSections() { return Collections.unmodifiableList(sections); } public PageMetadataDTO getMetadata() { return metadata; } public void setMetadata(PageMetadataDTO metadata) { this.metadata = metadata; } @JsonIgnore public List<QuestionDTO> getQuestions() { List<QuestionDTO> allQuestions = new ArrayList<>(); for (SectionDTO section : sections) { List<QuestionDTO> questions = section.getQuestions(); allQuestions.addAll(questions); } return allQuestions; } public boolean isSectionInfoAvailable() { return sectionInfoAvailable; } public void setSectionInfoAvailable(boolean sectionInfoAvailable) { this.sectionInfoAvailable = sectionInfoAvailable; } }