# HG changeset patch # User Raimund Renkert # Date 1395318763 -3600 # Node ID 5c80f419aea411ca527a52d4e43c2f849dd7fea2 # Parent b468dc65154a06106d79a139f97cb328c3130f8c Added new state data type. The new datatype takes a set of additional attributes and stores them to a map. diff -r b468dc65154a -r 5c80f419aea4 gwt-client/src/main/java/org/dive4elements/river/client/shared/model/MultiAttributeData.java --- /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; + } +} diff -r b468dc65154a -r 5c80f419aea4 gwt-client/src/main/java/org/dive4elements/river/client/shared/model/MultiDataItem.java --- /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 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 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 e: value.entrySet()) { + v += e.getKey() + ":" + e.getValue() + ";"; + } + return v; + } + + public Map getValue() { + return value; + } +}