annotate flys-client/src/main/java/de/intevation/flys/client/shared/model/IntegerArrayData.java @ 1527:252c22237fe7

Added new Data classes for integer array and integer options. flys-client/trunk@3725 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 19 Jan 2012 16:59:43 +0000
parents
children 0f2b94408bd1
rev   line source
1527
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.shared.model;
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 public class IntegerArrayData implements Data {
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 protected String label;
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 protected String description;
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 protected int[] values;
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 public IntegerArrayData() {
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 }
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 public IntegerArrayData(String label, String description, int[] values) {
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 this.label = label;
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 this.description = description;
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 this.values = values;
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 }
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 /**
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 * Returns the label of the item.
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 *
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 * @return the label.
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 */
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 public String getLabel() {
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 return label;
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 }
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 /**
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 * Returns the description of the item.
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 *
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 * @return the description.
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 */
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 public String getDescription() {
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 return description;
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 }
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 /**
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 * Returns the type of the item.
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 *
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 * @return the type.
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 */
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 public String getType() {
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 return "intarray";
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 }
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 /**
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 * Returns a DataItem which value is a string that consists of the integer
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 * values separated by a ';'.
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 *
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 * @return the DataItem.
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 */
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 public DataItem[] getItems() {
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 if (values == null || values.length == 0) {
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 return new DataItem[0];
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 }
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 StringBuilder sb = new StringBuilder();
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 boolean first = true;
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 for (int value: values) {
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 if (first) {
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 sb.append(String.valueOf(value));
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 }
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 else {
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 sb.append(";" + String.valueOf(value));
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 }
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 }
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 String value = sb.toString();
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 DataItem item = new DefaultDataItem(value, value, value);
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 return new DataItem[] { item };
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80 }
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 /**
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 * @return always null.
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 */
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 public DataItem getDefault() {
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 return null;
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 }
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 }
252c22237fe7 Added new Data classes for integer array and integer options.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org