Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/shared/model/MultiAttributeData.java @ 8858:a805211690f7 3.2.x
Fix license headers.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Thu, 18 Jan 2018 20:52:41 +0100 |
parents | 6e6506ec0ae0 |
children | 766890addcb2 |
rev | line source |
---|---|
8858 | 1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
2 * Software engineering by Intevation GmbH | |
3 * | |
4 * This file is Free Software under the GNU AGPL (>=v3) | |
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the | |
6 * documentation coming with Dive4Elements River for details. | |
7 */ | |
8 | |
7821
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
9 package org.dive4elements.river.client.shared.model; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
10 |
8071
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
11 import java.util.Map; |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
12 |
7821
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
13 |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
14 public class MultiAttributeData |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
15 implements Data |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
16 { |
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 public static final String TYPE = "multiattribute"; |
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 protected String label; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
21 protected String description; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
22 |
8071
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
23 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
|
24 |
7821
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
25 public DataItem[] opts; |
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 public MultiAttributeData() { |
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 |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
31 |
8071
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
32 public MultiAttributeData( |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
33 String label, |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
34 String desc, |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
35 DataItem[] opts, |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
36 Map<String, Map<String, String>> 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 this.label = label; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
39 this.description = desc; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
40 this.opts = opts; |
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 |
8071
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
43 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
|
44 return meta; |
6e6506ec0ae0
Parse meta data for multi attribute data.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7821
diff
changeset
|
45 } |
7821
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 label 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 label. |
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 getLabel() { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
53 return label; |
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 description of the item. |
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 description. |
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 String getDescription() { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
63 return description; |
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 * Returns the type of the item. |
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 * @return the type. |
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 public String getType() { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
73 return TYPE; |
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 |
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 * 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
|
79 * |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
80 * @return the allowed options as DataItem array. |
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[] getItems() { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
83 return opts; |
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 * @return always null. |
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 public DataItem getDefault() { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
91 return null; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
92 } |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
93 |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
94 |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
95 /** |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
96 * Returns the values as colon separated string. |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
97 * |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
98 * @return colon separated string. |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
99 */ |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
100 public String getStringValue() { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
101 String data = ""; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
102 boolean first = true; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
103 for (int i = 0; i < opts.length; i++) { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
104 if (!first) { |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
105 data += ";"; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
106 } |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
107 data += opts[i].getStringValue(); |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
108 first = false; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
109 } |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
110 return data; |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
111 } |
5c80f419aea4
Added new state data type.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
112 } |