annotate flys-client/src/main/java/de/intevation/flys/client/shared/model/ArtifactDescription.java @ 4241:49cb65d5932d

Improved the historical discharge calculation. The calculation now creates new HistoricalWQKms (new subclass of WQKms). Those WQKms are used to create new facets from (new) type 'HistoricalDischargeCurveFacet'. The chart generator is improved to support those facets.
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 24 Oct 2012 14:34:35 +0200
parents 070321cf17e1
children e8a4d2fd25cc
rev   line source
8
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.shared.model;
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 8
diff changeset
3 import java.io.Serializable;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 8
diff changeset
4
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 8
diff changeset
5
8
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 /**
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 * The artifact description describes a state of an artifact. There are
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 * operations defined that return former inserted data, possible input values
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 * and output targets that are available in the current state of the artifact.
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 *
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 */
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 8
diff changeset
13 public interface ArtifactDescription extends Serializable {
8
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 /**
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 * Returns the data that have been inserted in former states of the
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 * artifact.
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 *
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 * @return the old data of former states.
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 */
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 12
diff changeset
21 public DataList[] getOldData();
8
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 /**
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 * Returns the data with all its options that might be inserted in the
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 * current state of the artifact.
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 *
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 * @return the current data.
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 */
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 12
diff changeset
30 public DataList getCurrentData();
8
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 /**
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 * Returns the current state as string.
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 *
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 * @return the current state.
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 */
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 public String getCurrentState();
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 /**
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 * Returns the reachable states as string.
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 *
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 * @return the reachable states.
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 */
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 public String[] getReachableStates();
64
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
47
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
48
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
49 /**
1279
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
50 * Returns the name of the selected river.
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
51 *
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
52 * @return the selected river.
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
53 */
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
54 public String getRiver();
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
55
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
56
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
57 /**
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
58 * Returns the selected min and max kilomter if existing otherwise null.
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
59 *
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
60 * @return an array of [min-km, max-km] if existing otherwise null.
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
61 */
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
62 public double[] getKMRange();
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
63
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
64
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
65 /**
2467
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
66 * Returns the selected reference gauge (which needs to be a data named
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
67 * 'reference_gauge'.
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
68 *
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
69 * @return the selected reference gauge (which needs to be a data named
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
70 * 'reference_gauge'.
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
71 */
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
72 public String getReferenceGauge();
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
73
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
74
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
75 /**
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
76 * Returns the string value of a data object with name <i>dataName</i>.
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
77 *
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
78 * @return the string value of a data object with name <i>dataName</i>.
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
79 */
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
80 public String getDataValueAsString(String dataName);
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
81
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
82
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
83 /**
64
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
84 * Returns the available output modes.
615
ba1b27b7d282 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 64
diff changeset
85 *
64
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
86 * @return the available output modes.
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
87 */
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
88 public OutputMode[] getOutputModes();
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 615
diff changeset
89
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 615
diff changeset
90
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 615
diff changeset
91 /**
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 615
diff changeset
92 * Returns the recommended artifacts suggested by the server.
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 615
diff changeset
93 *
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 615
diff changeset
94 * @return the recommended artifacts.
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 615
diff changeset
95 */
807
6f65e70fa11d Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
96 public Recommendation[] getRecommendations();
8
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 }
9cb3ee7ed8ba Added interfaces for Artifacts, its ArtifactDescription and Data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org