Mercurial > dive4elements > river
diff flys-client/src/main/java/org/dive4elements/river/client/shared/model/OutputSettings.java @ 5834:f507086aa94b
Repaired internal references.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 12:31:32 +0200 |
parents | flys-client/src/main/java/de/intevation/flys/client/shared/model/OutputSettings.java@bb5edff31866 |
children | 821a02bbfb4e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-client/src/main/java/org/dive4elements/river/client/shared/model/OutputSettings.java Thu Apr 25 12:31:32 2013 +0200 @@ -0,0 +1,74 @@ +package de.intevation.flys.client.shared.model; + +import java.util.HashMap; +import java.util.List; +import java.util.ArrayList; + +/** + * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> + */ +public class OutputSettings implements Settings, Cloneable { + + /** The output name. */ + protected String name; + + /** The categories and settings container. */ + protected HashMap<String, List<Property> > categories; + + + public OutputSettings() { + this.categories = new HashMap<String, List<Property> >(); + } + + + public OutputSettings(String name) { + this.name = name; + this.categories = new HashMap<String, List<Property> >(); + } + + + /** Set output name. */ + public void setName(String name) { + this.name = name; + } + + + /** Get output name. */ + public String getName() { + return this.name; + } + + + public void setSettings(String category, List<Property> settings) { + if (this.categories == null) { + this.categories = new HashMap<String, List<Property> >(); + } + this.categories.put(category, settings); + } + + + public List<Property> getSettings(String category) { + return categories.get(category); + } + + + public List<String> getCategories() { + ArrayList<String> list = new ArrayList<String>(categories.keySet()); + return list; + } + + + public Object clone() { + OutputSettings clone = new OutputSettings(this.getName()); + for (String s: this.getCategories()) { + ArrayList cloneList = new ArrayList<Property>(); + for(Property p: this.getSettings(s)) { + cloneList.add((Property)p.clone()); + } + clone.setSettings(s, cloneList); + } + return clone; + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : +