annotate gwt-client/src/main/java/org/dive4elements/river/client/shared/model/MultiAttributeData.java @ 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
children 6e6506ec0ae0
rev   line source
7821
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
1 package org.dive4elements.river.client.shared.model;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
2
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
3
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
4 public class MultiAttributeData
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
5 implements Data
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 {
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
7
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8 public static final String TYPE = "multiattribute";
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10 protected String label;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 protected String description;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13 public DataItem[] opts;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16 public MultiAttributeData() {
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 }
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
19
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20 public MultiAttributeData(String label, String desc, DataItem[] opts) {
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21 this.label = label;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22 this.description = desc;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23 this.opts = opts;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 }
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27 /**
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 * Returns the label of the item.
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 *
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 * @return the label.
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31 */
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
32 public String getLabel() {
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33 return label;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34 }
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37 /**
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 * Returns the description of the item.
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39 *
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 * @return the description.
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41 */
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 public String getDescription() {
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 return description;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 }
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47 /**
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 * Returns the type of the item.
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49 *
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 * @return the type.
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 */
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 public String getType() {
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53 return TYPE;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 }
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 /**
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 * Returns the data items which represent the allowed options for this Data.
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59 *
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 * @return the allowed options as DataItem array.
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 */
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62 public DataItem[] getItems() {
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63 return opts;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64 }
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 /**
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 * @return always null.
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69 */
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70 public DataItem getDefault() {
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
71 return null;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
72 }
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
73
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
74
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
75 /**
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
76 * Returns the values as colon separated string.
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
77 *
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
78 * @return colon separated string.
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
79 */
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
80 public String getStringValue() {
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
81 String data = "";
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
82 boolean first = true;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
83 for (int i = 0; i < opts.length; i++) {
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
84 if (!first) {
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
85 data += ";";
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
86 }
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
87 data += opts[i].getStringValue();
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
88 first = false;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
89 }
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
90 return data;
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
91 }
5c80f419aea4 Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
92 }

http://dive4elements.wald.intevation.org