Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/shared/model/MultiAttributeData.java @ 8071:6e6506ec0ae0
Parse meta data for multi attribute data.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Tue, 05 Aug 2014 18:28:04 +0200 |
parents | 5c80f419aea4 |
children | a805211690f7 |
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 |
8071
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
3 import java.util.Map; |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
4 |
7821
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
5 |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
6 public class MultiAttributeData |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
7 implements Data |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
8 { |
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 public static final String TYPE = "multiattribute"; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
11 |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
12 protected String label; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
13 protected String description; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
14 |
8071
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
15 protected Map<String, Map<String, String>> meta; |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
16 |
7821
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
17 public DataItem[] opts; |
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() { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
21 } |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
22 |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
23 |
8071
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
24 public MultiAttributeData( |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
25 String label, |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
26 String desc, |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
27 DataItem[] opts, |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
28 Map<String, Map<String, String>> meta |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
29 ) { |
7821
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
30 this.label = label; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
31 this.description = desc; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
32 this.opts = opts; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
33 } |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
34 |
8071
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
35 public Map<String, Map<String, String>> getMeta() { |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
36 return meta; |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
37 } |
7821
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
38 |
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 * Returns the label of the item. |
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 * @return the label. |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
43 */ |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
44 public String getLabel() { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
45 return label; |
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 |
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 * Returns the description of the item. |
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 * @return the description. |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
53 */ |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
54 public String getDescription() { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
55 return description; |
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 |
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 * Returns the type of the item. |
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 * @return the type. |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
63 */ |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
64 public String getType() { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
65 return TYPE; |
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 |
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 * 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
|
71 * |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
72 * @return the allowed options as DataItem array. |
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 public DataItem[] getItems() { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
75 return opts; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
76 } |
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 |
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 * @return always null. |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
81 */ |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
82 public DataItem getDefault() { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
83 return null; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
84 } |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
85 |
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 /** |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
88 * Returns the values as colon separated string. |
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 colon separated string. |
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 public String getStringValue() { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
93 String data = ""; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
94 boolean first = true; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
95 for (int i = 0; i < opts.length; i++) { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
96 if (!first) { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
97 data += ";"; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
98 } |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
99 data += opts[i].getStringValue(); |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
100 first = false; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
101 } |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
102 return data; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
103 } |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
104 } |