Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/shared/model/PropertyGroup.java @ 5861:172338b1407f
GWT client: Added copyright header.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Sun, 28 Apr 2013 14:30:15 +0200 |
parents | 5aa05a7a34b7 |
children | ea9eef426962 |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.shared.model; |
1439
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 |
3859
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
11 import java.util.ArrayList; |
1439
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 import java.util.List; |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 /** |
3859
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
15 * A group of properties. |
1439
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 */ |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
18 public class PropertyGroup implements Property, Cloneable { |
1439
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 /** The group name */ |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 protected String name; |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 protected List<Property> properties; |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 public PropertyGroup() { |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 } |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 public PropertyGroup(String name) { |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 this.name = name; |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 } |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 public PropertyGroup(String name, List<Property> properties) { |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 this.name = name; |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 this.properties = properties; |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 } |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 public String getName() { |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 return this.name; |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 } |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 public void setName(String name) { |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 this.name = name; |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 } |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 public List<Property> getProperties() { |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 return this.properties; |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 } |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 public void setProperties(List<Property> properties) { |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 this.properties = properties; |
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 } |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1463
diff
changeset
|
52 |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1463
diff
changeset
|
53 public Property getPropertyByName(String name) { |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1463
diff
changeset
|
54 for (int i = 0; i < properties.size(); i++) { |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1463
diff
changeset
|
55 if (properties.get(i).getName().equals(name)) { |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1463
diff
changeset
|
56 return properties.get(i); |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1463
diff
changeset
|
57 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1463
diff
changeset
|
58 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1463
diff
changeset
|
59 return null; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1463
diff
changeset
|
60 } |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
61 |
3859
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
62 @Override |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
63 public Object clone() { |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
64 PropertyGroup clone = new PropertyGroup(this.getName()); |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
65 List<Property> cloneList = new ArrayList<Property>(); |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
66 for(Property p: properties) { |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
67 cloneList.add((Property)p.clone()); |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
68 } |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
69 clone.setProperties(cloneList); |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
70 return clone; |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
71 } |
3859
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
72 |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
73 @Override |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
74 public String toString() { |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
75 StringBuilder buf = new StringBuilder(); |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
76 |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
77 for(Property p : properties) { |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
78 buf.append(p.getName()); |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
79 buf.append("="); |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
80 if(p instanceof PropertySetting) { |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
81 buf.append(((PropertySetting)p).getValue().toString()); |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
82 } |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
83 buf.append(" "); |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
84 } |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
85 |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
86 return buf.toString(); |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
1503
diff
changeset
|
87 } |
1439
4df2d9a4b9b4
Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 } |