changeset 7821:5c80f419aea4 minfo-opt

Added new state data type. The new datatype takes a set of additional attributes and stores them to a map.
author Raimund Renkert <rrenkert@intevation.de>
date Thu, 20 Mar 2014 13:32:43 +0100
parents b468dc65154a
children 7227082baca3
files gwt-client/src/main/java/org/dive4elements/river/client/shared/model/MultiAttributeData.java gwt-client/src/main/java/org/dive4elements/river/client/shared/model/MultiDataItem.java
diffstat 2 files changed, 153 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/MultiAttributeData.java	Thu Mar 20 13:32:43 2014 +0100
@@ -0,0 +1,92 @@
+package org.dive4elements.river.client.shared.model;
+
+
+public class MultiAttributeData
+implements Data
+{
+
+    public static final String TYPE = "multiattribute";
+
+    protected String label;
+    protected String description;
+
+    public DataItem[] opts;
+
+
+    public MultiAttributeData() {
+    }
+
+
+    public MultiAttributeData(String label, String desc, DataItem[] opts) {
+        this.label       = label;
+        this.description = desc;
+        this.opts        = opts;
+    }
+
+
+    /**
+     * Returns the label of the item.
+     *
+     * @return the label.
+     */
+    public String getLabel() {
+        return label;
+    }
+
+
+    /**
+     * Returns the description of the item.
+     *
+     * @return the description.
+     */
+    public String getDescription() {
+        return description;
+    }
+
+
+    /**
+     * Returns the type of the item.
+     *
+     * @return the type.
+     */
+    public String getType() {
+        return TYPE;
+    }
+
+
+    /**
+     * Returns the data items which represent the allowed options for this Data.
+     *
+     * @return the allowed options as DataItem array.
+     */
+    public DataItem[] getItems() {
+        return opts;
+    }
+
+
+    /**
+     * @return always null.
+     */
+    public DataItem getDefault() {
+        return null;
+    }
+
+
+    /**
+     * Returns the values as colon separated string.
+     *
+     * @return colon separated string.
+     */
+    public String getStringValue() {
+        String data = "";
+        boolean first = true;
+        for (int i = 0; i < opts.length; i++) {
+            if (!first) {
+                data += ";";
+            }
+            data += opts[i].getStringValue();
+            first = false;
+        }
+        return data;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/MultiDataItem.java	Thu Mar 20 13:32:43 2014 +0100
@@ -0,0 +1,61 @@
+package org.dive4elements.river.client.shared.model;
+
+import java.util.Map;
+
+
+public class MultiDataItem
+implements DataItem
+{
+    /** The label. */
+    protected String label;
+
+    /** The description. */
+    protected String description;
+
+    /** The value. */
+    protected Map<String, String> value;
+
+
+    public MultiDataItem() {
+    }
+
+    /**
+     * The default constructor to create new instances.
+     *
+     * @param label The label.
+     * @param description The description.
+     * @param value The value.
+     */
+    public MultiDataItem(
+        String label,
+        String description,
+        Map<String, String> value
+    ) {
+        this.label       = label;
+        this.description = description;
+        this.value       = value;
+    }
+
+
+    public String getLabel() {
+        return label;
+    }
+
+
+    public String getDescription() {
+        return description;
+    }
+
+
+    public String getStringValue() {
+        String v = "";
+        for (Map.Entry<String, String> e: value.entrySet()) {
+            v += e.getKey() + ":" + e.getValue() + ";";
+        }
+        return v;
+    }
+
+    public Map<String, String> getValue() {
+        return value;
+    }
+}

http://dive4elements.wald.intevation.org