annotate flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultArtifactDescription.java @ 64:3d646d3e8e27

Enhanced the ArtifactDescription and its default implementation to provide output modes. flys-client/trunk@1546 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 23 Mar 2011 11:06:31 +0000
parents a2923d63f530
children 653ae84533e7
rev   line source
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.shared.model;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 /**
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 * The default implementation of an {@link ArtifactDescription}. This class just
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 * implements constructors to create new instances and the necessary methods of
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 * the interface.
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 *
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 */
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 public class DefaultArtifactDescription implements ArtifactDescription {
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 /** Data that have been inserted in former states.*/
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
14 protected DataList[] oldData;
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 /** The Data that is allowed to be inserted in the current state.*/
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
17 protected DataList currentData;
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 /** The current state name.*/
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 protected String currentState;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 /** The names of reachable states.*/
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 protected String[] reachableStates;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24
64
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
25 /** The output modes of this state.*/
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
26 protected OutputMode[] outputModes;
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
27
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 public DefaultArtifactDescription() {
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 }
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 /**
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 * The default constructor.
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 *
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 * @param old The data that have been inserted in former states.
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 * @param current The data that might be inserted in the current state.
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 * @param state The name of the current state.
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 * @param reachableStates The names of the reachable states.
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 */
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 public DefaultArtifactDescription(
64
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
42 DataList[] old,
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
43 DataList current,
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
44 String state,
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
45 String[] reachableStates)
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 {
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 this.oldData = old;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 this.currentData = current;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 this.currentState = state;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 this.reachableStates = reachableStates;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 }
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53
64
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
54 /**
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
55 * The default constructor.
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
56 *
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
57 * @param old The data that have been inserted in former states.
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
58 * @param current The data that might be inserted in the current state.
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
59 * @param state The name of the current state.
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
60 * @param reachableStates The names of the reachable states.
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
61 * @param outputModes The available output modes of this artifact.
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
62 */
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
63 public DefaultArtifactDescription(
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
64 DataList[] old,
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
65 DataList current,
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
66 String state,
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
67 String[] reachableStates,
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
68 OutputMode[] outputModes)
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
69 {
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
70 this(old, current, state, reachableStates);
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
71 this.outputModes = outputModes;
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
72 }
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
73
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
74
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
75 public DataList[] getOldData() {
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 return oldData;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 }
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79
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
80 public DataList getCurrentData() {
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 return currentData;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 }
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 public String getCurrentState() {
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 return currentState;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 }
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 public String[] getReachableStates() {
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 return reachableStates;
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 }
64
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
93
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
94
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
95 public OutputMode[] getOutputModes() {
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
96 return outputModes;
3d646d3e8e27 Enhanced the ArtifactDescription and its default implementation to provide output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
97 }
12
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 }
fa0aad20af53 Adjusted interfaces used for the ArtifactDescription and added default implementations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org