ingo@359: package de.intevation.artifactdatabase.state;
ingo@359:
ingo@359: import java.util.ArrayList;
ingo@359: import java.util.List;
ingo@359:
ingo@359: import org.w3c.dom.Document;
ingo@359: import org.w3c.dom.Element;
ingo@359: import org.w3c.dom.Node;
ingo@359:
ingo@359: import de.intevation.artifactdatabase.state.Section;
ingo@359: import de.intevation.artifactdatabase.state.Settings;
ingo@359:
ingo@359:
ingo@359: /**
ingo@359: * @author Ingo Weinzierl
ingo@359: */
ingo@359: public class DefaultSettings implements Settings {
ingo@359:
ingo@359: protected List sections;
ingo@359:
ingo@359: public DefaultSettings() {
ingo@359: sections = new ArrayList();
ingo@359: }
ingo@359:
ingo@359: @Override
ingo@359: public void addSection(Section section) {
ingo@359: if (section != null) {
ingo@359: sections.add(section);
ingo@359: }
ingo@359: }
ingo@359:
ingo@359: @Override
ingo@359: public int getSectionCount() {
ingo@359: return sections.size();
ingo@359: }
ingo@359:
ingo@359: @Override
ingo@359: public Section getSection(int pos) {
ingo@359: if (pos >= 0 && pos < getSectionCount()) {
ingo@359: return sections.get(pos);
ingo@359: }
ingo@359:
ingo@359: return null;
ingo@359: }
ingo@359:
ingo@359: @Override
ingo@359: public void removeSection(Section section) {
ingo@359: if (section != null) {
ingo@359: sections.remove(section);
ingo@359: }
ingo@359: }
ingo@359:
ingo@359: @Override
ingo@359: public void toXML(Node parent) {
ingo@359: Document owner = parent.getOwnerDocument();
ingo@359: Element settings = owner.createElement("settings");
ingo@359:
ingo@359: parent.appendChild(settings);
ingo@359:
ingo@359: for (Section section: sections) {
ingo@359: section.toXML(settings);
ingo@359: }
ingo@359: }
ingo@359: }
ingo@359: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :