annotate flys-client/src/main/java/org/dive4elements/river/client/shared/model/OutputSettings.java @ 5834:f507086aa94b

Repaired internal references.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:31:32 +0200
parents flys-client/src/main/java/de/intevation/flys/client/shared/model/OutputSettings.java@bb5edff31866
children 821a02bbfb4e
rev   line source
1439
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.shared.model;
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
3 import java.util.HashMap;
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
4 import java.util.List;
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
5 import java.util.ArrayList;
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
6
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
7 /**
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
8 * @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
9 */
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
10 public class OutputSettings implements Settings, Cloneable {
1439
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
11
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 /** The output name. */
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13 protected String name;
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15 /** The categories and settings container. */
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16 protected HashMap<String, List<Property> > categories;
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
17
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
18
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
19 public OutputSettings() {
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20 this.categories = new HashMap<String, List<Property> >();
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
21 }
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
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
24 public OutputSettings(String name) {
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25 this.name = name;
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26 this.categories = new HashMap<String, List<Property> >();
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
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
29
3509
bb5edff31866 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1503
diff changeset
30 /** Set output name. */
1439
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
31 public void setName(String name) {
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32 this.name = name;
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33 }
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35
3509
bb5edff31866 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1503
diff changeset
36 /** Get output name. */
1439
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
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42 public void setSettings(String category, List<Property> settings) {
1464
c899a7ffdc8f Extract and parse the output settings from describe document and add settings
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
43 if (this.categories == null) {
c899a7ffdc8f Extract and parse the output settings from describe document and add settings
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
44 this.categories = new HashMap<String, List<Property> >();
c899a7ffdc8f Extract and parse the output settings from describe document and add settings
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
45 }
1439
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46 this.categories.put(category, settings);
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
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50 public List<Property> getSettings(String category) {
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
51 return categories.get(category);
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
52 }
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
55 public List<String> getCategories() {
1439
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
56 ArrayList<String> list = new ArrayList<String>(categories.keySet());
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
57 return list;
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
58 }
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
59
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
60
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
61 public Object clone() {
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
62 OutputSettings clone = new OutputSettings(this.getName());
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
63 for (String s: this.getCategories()) {
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
64 ArrayList cloneList = new ArrayList<Property>();
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
65 for(Property p: this.getSettings(s)) {
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
66 cloneList.add((Property)p.clone());
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
67 }
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
68 clone.setSettings(s, cloneList);
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
69 }
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
70 return clone;
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1464
diff changeset
71 }
1439
4df2d9a4b9b4 Added interfaces and container for output settings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
72 }
3509
bb5edff31866 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1503
diff changeset
73 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
bb5edff31866 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1503
diff changeset
74

http://dive4elements.wald.intevation.org