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 }

http://dive4elements.wald.intevation.org