annotate artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java @ 390:d5db5483b376

Tagged module 'artifacts' as '2.7'. artifacts/trunk@4528 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Sun, 27 May 2012 10:40:55 +0000
parents fd32dc33a24c
children
rev   line source
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 /*
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2 * Copyright (c) 2011 by Intevation GmbH
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 *
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 * This program is free software under the LGPL (>=v2.1)
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 * Read the file LGPL.txt coming with the software for details
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 * or visit http://www.gnu.org/licenses/ if it does not exist.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 */
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 package de.intevation.artifactdatabase.state;
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 import java.io.Serializable;
210
b75fca1ac215 Enhanced the State interface to retrieve its output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 205
diff changeset
11 import java.util.List;
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import java.util.Map;
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import org.w3c.dom.Document;
205
2a9591f76270 Changed the return type of a State's describe() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 110
diff changeset
15 import org.w3c.dom.Element;
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import org.w3c.dom.Node;
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17
244
3d14fe6e05f7 Improved the describe() of a State - a reference to an artifact has been added.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 210
diff changeset
18 import de.intevation.artifacts.Artifact;
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import de.intevation.artifacts.CallContext;
363
4d3298295a64 Enhanced the State interface with a new method initialize() which might be used to initialize the State based on a model Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 327
diff changeset
20 import de.intevation.artifacts.CallMeta;
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 import de.intevation.artifactdatabase.data.StateData;
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 /**
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 * This interface describes the basic methods a concrete state class needs to
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 * implement.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 *
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 */
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 public interface State extends Serializable {
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 /**
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 * Return the id of the state.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 *
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 * @return the id.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 */
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 public String getID();
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 /**
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 * Return the description of the state.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 *
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 * @return the description of the state.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 */
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 public String getDescription();
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 /**
386
fd32dc33a24c Added a method State.getHelpText().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 365
diff changeset
50 * Returns the help text configured for the state.
fd32dc33a24c Added a method State.getHelpText().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 365
diff changeset
51 *
fd32dc33a24c Added a method State.getHelpText().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 365
diff changeset
52 * @return the help text configured for the state.
fd32dc33a24c Added a method State.getHelpText().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 365
diff changeset
53 */
fd32dc33a24c Added a method State.getHelpText().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 365
diff changeset
54 public String getHelpText();
fd32dc33a24c Added a method State.getHelpText().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 365
diff changeset
55
fd32dc33a24c Added a method State.getHelpText().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 365
diff changeset
56
fd32dc33a24c Added a method State.getHelpText().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 365
diff changeset
57 /**
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 * Returns the data provided by this state.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 *
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 * @return the data stored in this state.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 */
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 public Map<String, StateData> getData();
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 /**
256
55d08706ccf2 Added a getData(String) method to a State to get just a single StateData object.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 244
diff changeset
66 * Returns a single desired StateData object based on its name.
55d08706ccf2 Added a getData(String) method to a State to get just a single StateData object.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 244
diff changeset
67 *
55d08706ccf2 Added a getData(String) method to a State to get just a single StateData object.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 244
diff changeset
68 * @param name The name of the desired StateData object.
55d08706ccf2 Added a getData(String) method to a State to get just a single StateData object.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 244
diff changeset
69 *
55d08706ccf2 Added a getData(String) method to a State to get just a single StateData object.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 244
diff changeset
70 * @return the desired StateData object.
55d08706ccf2 Added a getData(String) method to a State to get just a single StateData object.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 244
diff changeset
71 */
55d08706ccf2 Added a getData(String) method to a State to get just a single StateData object.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 244
diff changeset
72 public StateData getData(String name);
55d08706ccf2 Added a getData(String) method to a State to get just a single StateData object.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 244
diff changeset
73
55d08706ccf2 Added a getData(String) method to a State to get just a single StateData object.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 244
diff changeset
74
55d08706ccf2 Added a getData(String) method to a State to get just a single StateData object.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 244
diff changeset
75 /**
110
33271242e303 Prepared the State and StateData interfaces with methods to add new data to a State and implemented a DefaultStateData class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
76 * This method should be used to add a new {@link StateData} object to the
33271242e303 Prepared the State and StateData interfaces with methods to add new data to a State and implemented a DefaultStateData class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
77 * data pool of the state.
33271242e303 Prepared the State and StateData interfaces with methods to add new data to a State and implemented a DefaultStateData class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
78 *
33271242e303 Prepared the State and StateData interfaces with methods to add new data to a State and implemented a DefaultStateData class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
79 * @param name The name of the data object.
33271242e303 Prepared the State and StateData interfaces with methods to add new data to a State and implemented a DefaultStateData class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
80 * @param data The data object.
33271242e303 Prepared the State and StateData interfaces with methods to add new data to a State and implemented a DefaultStateData class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
81 */
33271242e303 Prepared the State and StateData interfaces with methods to add new data to a State and implemented a DefaultStateData class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
82 public void addData(String name, StateData data);
33271242e303 Prepared the State and StateData interfaces with methods to add new data to a State and implemented a DefaultStateData class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
83
33271242e303 Prepared the State and StateData interfaces with methods to add new data to a State and implemented a DefaultStateData class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
84
33271242e303 Prepared the State and StateData interfaces with methods to add new data to a State and implemented a DefaultStateData class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
85 /**
210
b75fca1ac215 Enhanced the State interface to retrieve its output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 205
diff changeset
86 * Returns the list of possible outputs of this state. The list is empty
b75fca1ac215 Enhanced the State interface to retrieve its output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 205
diff changeset
87 * if no output is available for this state.
b75fca1ac215 Enhanced the State interface to retrieve its output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 205
diff changeset
88 *
b75fca1ac215 Enhanced the State interface to retrieve its output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 205
diff changeset
89 * @return a list of possible outputs of this state.
b75fca1ac215 Enhanced the State interface to retrieve its output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 205
diff changeset
90 */
b75fca1ac215 Enhanced the State interface to retrieve its output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 205
diff changeset
91 public List<Output> getOutputs();
b75fca1ac215 Enhanced the State interface to retrieve its output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 205
diff changeset
92
b75fca1ac215 Enhanced the State interface to retrieve its output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 205
diff changeset
93
b75fca1ac215 Enhanced the State interface to retrieve its output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 205
diff changeset
94 /**
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 * Initialize the state based on the state node in the configuration.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 *
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 * @param config The state configuration node.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 */
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 public void setup(Node config);
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 /**
363
4d3298295a64 Enhanced the State interface with a new method initialize() which might be used to initialize the State based on a model Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 327
diff changeset
103 * Initializes the internal state of this State based on an other State.
4d3298295a64 Enhanced the State interface with a new method initialize() which might be used to initialize the State based on a model Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 327
diff changeset
104 *
4d3298295a64 Enhanced the State interface with a new method initialize() which might be used to initialize the State based on a model Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 327
diff changeset
105 * @param orig The owner Artifact or the original State.
365
81ae7948bff0 Added the owner Artifact as parameter to State.initialize().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 363
diff changeset
106 * @param owner The owner Artifact of this State.
363
4d3298295a64 Enhanced the State interface with a new method initialize() which might be used to initialize the State based on a model Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 327
diff changeset
107 * @param context The context object.
4d3298295a64 Enhanced the State interface with a new method initialize() which might be used to initialize the State based on a model Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 327
diff changeset
108 * @param callMeta The CallMeta of the current call.
4d3298295a64 Enhanced the State interface with a new method initialize() which might be used to initialize the State based on a model Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 327
diff changeset
109 */
365
81ae7948bff0 Added the owner Artifact as parameter to State.initialize().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 363
diff changeset
110 public void initialize(
81ae7948bff0 Added the owner Artifact as parameter to State.initialize().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 363
diff changeset
111 Artifact orig,
81ae7948bff0 Added the owner Artifact as parameter to State.initialize().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 363
diff changeset
112 Artifact owner,
81ae7948bff0 Added the owner Artifact as parameter to State.initialize().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 363
diff changeset
113 Object context,
81ae7948bff0 Added the owner Artifact as parameter to State.initialize().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 363
diff changeset
114 CallMeta callMeta);
363
4d3298295a64 Enhanced the State interface with a new method initialize() which might be used to initialize the State based on a model Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 327
diff changeset
115
4d3298295a64 Enhanced the State interface with a new method initialize() which might be used to initialize the State based on a model Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 327
diff changeset
116
4d3298295a64 Enhanced the State interface with a new method initialize() which might be used to initialize the State based on a model Artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 327
diff changeset
117 /**
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118 * This method is called when an artifacts retrieves a describe request. It
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119 * creates the user interface description of the current state.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 *
244
3d14fe6e05f7 Improved the describe() of a State - a reference to an artifact has been added.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 210
diff changeset
121 * @param artifact A reference to the artifact this state belongs to.
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122 * @param document Describe doucment.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 * @param rootNode Parent node for all new elements.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 * @param context The CallContext.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125 * @param uuid The uuid of an artifact.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126 */
205
2a9591f76270 Changed the return type of a State's describe() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 110
diff changeset
127 public Element describe(
244
3d14fe6e05f7 Improved the describe() of a State - a reference to an artifact has been added.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 210
diff changeset
128 Artifact artifact,
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129 Document document,
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130 Node rootNode,
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 CallContext context,
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132 String uuid
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 );
327
8a3ddd374dd1 Enhanced the State interface with an endOfLife() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 256
diff changeset
134
8a3ddd374dd1 Enhanced the State interface with an endOfLife() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 256
diff changeset
135
8a3ddd374dd1 Enhanced the State interface with an endOfLife() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 256
diff changeset
136 /**
8a3ddd374dd1 Enhanced the State interface with an endOfLife() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 256
diff changeset
137 * This method should be called by an Artifact that removes this State
8a3ddd374dd1 Enhanced the State interface with an endOfLife() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 256
diff changeset
138 * (current State and previous States). E.g. this might be interesting to
8a3ddd374dd1 Enhanced the State interface with an endOfLife() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 256
diff changeset
139 * remove generated files or stuff like that.
8a3ddd374dd1 Enhanced the State interface with an endOfLife() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 256
diff changeset
140 *
8a3ddd374dd1 Enhanced the State interface with an endOfLife() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 256
diff changeset
141 * @param artifact A parent Artifact.
8a3ddd374dd1 Enhanced the State interface with an endOfLife() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 256
diff changeset
142 * @param context The CallContext.
8a3ddd374dd1 Enhanced the State interface with an endOfLife() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 256
diff changeset
143 */
8a3ddd374dd1 Enhanced the State interface with an endOfLife() method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 256
diff changeset
144 public void endOfLife(Artifact artifact, Object context);
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145 }
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org