annotate artifact-database/src/main/java/de/intevation/artifactdatabase/transition/Transition.java @ 347:16ab243507e0

Let StateEngine compute compatibility matrix based on a list of states. artifacts/trunk@3108 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Fri, 28 Oct 2011 10:08:35 +0000
parents 8c2b6cdf22ad
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 package de.intevation.artifactdatabase.transition;
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
257
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
3 import org.w3c.dom.Node;
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
4
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
5 import de.intevation.artifacts.Artifact;
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
6
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 import de.intevation.artifactdatabase.state.State;
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8
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 /**
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 * @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
12 */
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 public interface Transition {
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 /**
257
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
16 * Initializes the transition.
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
17 *
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
18 * @param config The configuration node for the transition.
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
19 */
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
20 public void init(Node config);
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
21
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
22 /**
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 * Return the ID of the start State.
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 public String getFrom();
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 /**
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 * Return the ID of the target State.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 */
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 public String getTo();
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
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 * Set the ID of the current State.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 *
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 * @param from The ID of the current state.
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 */
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 public void setFrom(String from);
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38
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 * Set the ID of the target State.
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 * @param to The ID of the target 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 public void setTo(String to);
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 /**
257
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
47 * Determines if its valid to step from state <i>a</i> of an artifact
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
48 * <i>artifact</i> to state <i>b</i>.
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
49 *
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
50 * @param artifact The owner artifact of state a and b.
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
51 * @param a The current state.
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
52 * @param b The target state.
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
53 *
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
54 * @return true, if it is valid to step from a to b, otherwise false.
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 */
257
8c2b6cdf22ad Modified Transition.isValid() - added the artifact and the current state to the parameter list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 104
diff changeset
56 public boolean isValid(Artifact artifact, State a, State b);
104
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 }
26bfff409dd3 Added interfaces and engines used in concrete artifact packages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org