annotate gwt-client/src/main/java/org/dive4elements/river/client/shared/model/MultiAttributeData.java @ 8871:78cd6572778d

Introduced groups for modules. Modules marked with the same group-id, will be put together in the ui. Also using now the localization info from the server instead of localizing the modules again on the client side.
author gernotbelger
date Wed, 07 Feb 2018 12:02:58 +0100
parents a805211690f7
children 766890addcb2
rev   line source
8858
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8071
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8071
diff changeset
2 * Software engineering by Intevation GmbH
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8071
diff changeset
3 *
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8071
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8071
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8071
diff changeset
6 * documentation coming with Dive4Elements River for details.
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8071
diff changeset
7 */
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8071
diff changeset
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 }

http://dive4elements.wald.intevation.org