raimund@1439: package de.intevation.flys.client.shared.model; raimund@1439: raimund@1439: import java.util.HashMap; raimund@1439: import java.util.List; raimund@1439: import java.util.ArrayList; raimund@1439: raimund@1439: /** raimund@1439: * @author Raimund Renkert raimund@1439: */ raimund@1503: public class OutputSettings implements Settings, Cloneable { raimund@1439: raimund@1439: /** The output name. */ raimund@1439: protected String name; raimund@1439: raimund@1439: /** The categories and settings container. */ raimund@1439: protected HashMap > categories; raimund@1439: raimund@1439: raimund@1439: public OutputSettings() { raimund@1439: this.categories = new HashMap >(); raimund@1439: } raimund@1439: raimund@1439: raimund@1439: public OutputSettings(String name) { raimund@1439: this.name = name; raimund@1439: this.categories = new HashMap >(); raimund@1439: } raimund@1439: raimund@1439: felix@3509: /** Set output name. */ raimund@1439: public void setName(String name) { raimund@1439: this.name = name; raimund@1439: } raimund@1439: raimund@1439: felix@3509: /** Get output name. */ raimund@1439: public String getName() { raimund@1439: return this.name; raimund@1439: } raimund@1439: raimund@1439: raimund@1439: public void setSettings(String category, List settings) { raimund@1464: if (this.categories == null) { raimund@1464: this.categories = new HashMap >(); raimund@1464: } raimund@1439: this.categories.put(category, settings); raimund@1439: } raimund@1439: raimund@1439: raimund@1439: public List getSettings(String category) { raimund@1439: return categories.get(category); raimund@1439: } raimund@1439: raimund@1439: raimund@1503: public List getCategories() { raimund@1439: ArrayList list = new ArrayList(categories.keySet()); raimund@1439: return list; raimund@1439: } raimund@1503: raimund@1503: raimund@1503: public Object clone() { raimund@1503: OutputSettings clone = new OutputSettings(this.getName()); raimund@1503: for (String s: this.getCategories()) { raimund@1503: ArrayList cloneList = new ArrayList(); raimund@1503: for(Property p: this.getSettings(s)) { raimund@1503: cloneList.add((Property)p.clone()); raimund@1503: } raimund@1503: clone.setSettings(s, cloneList); raimund@1503: } raimund@1503: return clone; raimund@1503: } raimund@1439: } felix@3509: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : felix@3509: