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 :
+

http://dive4elements.wald.intevation.org