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
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