diff gwt-client/src/main/java/org/dive4elements/river/client/shared/model/DefaultData.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-client/src/main/java/org/dive4elements/river/client/shared/model/DefaultData.java@821a02bbfb4e
children 172338b1407f
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/DefaultData.java	Thu Apr 25 15:23:37 2013 +0200
@@ -0,0 +1,135 @@
+package org.dive4elements.river.client.shared.model;
+
+/**
+ * The default implementation of a {@link Data} item. This class just implements
+ * constructors to create instances and the necessary methods of the interface.
+ *
+ * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
+ */
+public class DefaultData implements Data {
+
+    /** The label of this Data object. */
+    protected String label;
+
+    /** The description. */
+    protected String description;
+
+    /** The type. */
+    protected String type;
+
+    /** The DataItems. */
+    protected DataItem[] items;
+
+    /** The default DataItem. */
+    protected DataItem defaultItem;
+
+
+    public DefaultData() {
+    }
+
+
+    /**
+     * The default constructor to create new DefaultData objects.
+     *
+     * @param label The label.
+     * @param description The description.
+     * @param type The type.
+     * @param items The DataItems.
+     */
+    public DefaultData(
+        String label,
+        String description,
+        String type,
+        DataItem[] items)
+    {
+        this(label, description, type, items, null);
+    }
+
+
+    /**
+     * The constructor to create new DefaultData objects with a default value.
+     *
+     * @param label The label.
+     * @param description The description.
+     * @param type The type.
+     * @param items The DataItems.
+     * @param defaultItem The default DataItem.
+     */
+    public DefaultData(
+        String label,
+        String description,
+        String type,
+        DataItem[] items,
+        DataItem defaultItem)
+    {
+        this.label       = label;
+        this.description = description;
+        this.type        = type;
+        this.items       = items;
+        this.defaultItem = defaultItem;
+    }
+
+
+    public String getLabel() {
+        return label;
+    }
+
+
+    public String getDescription() {
+        return description;
+    }
+
+
+    public String getType() {
+        return type;
+    }
+
+
+    public DataItem[] getItems() {
+        return items;
+    }
+
+
+    public DataItem getDefault() {
+        return defaultItem;
+    }
+
+
+    /** Conveniently create simplistic data. */
+    public static DefaultData createSimpleStringData(
+        String name,
+        String value
+    ) {
+        DefaultDataItem d = new DefaultDataItem(name, name, value);
+        return new DefaultData(name, null, null, new DataItem[] {d});
+    }
+
+    /** Conveniently create simplistic data array. */
+    public static Data[] createSimpleStringDataArray(
+        String name,
+        String value
+    ) {
+        DefaultDataItem d = new DefaultDataItem(name, name, value);
+        return new Data[]
+            { new DefaultData(name, null, null, new DataItem[] {d})};
+    }
+
+    /**
+     * Returns the values as colon separated string.
+     *
+     * @return colon separated string.
+     */
+    public String getStringValue() {
+        String data = "";
+        boolean first = true;
+        for (int i = 0; i < items.length; i++) {
+            if (!first) {
+                data += ";";
+            }
+            data += items[i].getStringValue();
+            first = false;
+        }
+        return data;
+    }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org