diff artifact-database/src/main/java/org/dive4elements/artifactdatabase/transition/Transition.java @ 473:d0ac790a6c89 dive4elements-move

Moved directories to org.dive4elements
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 10:57:18 +0200
parents artifact-database/src/main/java/de/intevation/artifactdatabase/transition/Transition.java@8c2b6cdf22ad
children 415df0fc4fa1
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/transition/Transition.java	Thu Apr 25 10:57:18 2013 +0200
@@ -0,0 +1,58 @@
+package de.intevation.artifactdatabase.transition;
+
+import org.w3c.dom.Node;
+
+import de.intevation.artifacts.Artifact;
+
+import de.intevation.artifactdatabase.state.State;
+
+
+/**
+ * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
+ */
+public interface Transition {
+
+    /**
+     * Initializes the transition.
+     *
+     * @param config The configuration node for the transition.
+     */
+    public void init(Node config);
+
+    /**
+     * Return the ID of the start State.
+     */
+    public String getFrom();
+
+    /**
+     * Return the ID of the target State.
+     */
+    public String getTo();
+
+    /**
+     * Set the ID of the current State.
+     *
+     * @param from The ID of the current state.
+     */
+    public void setFrom(String from);
+
+    /**
+     * Set the ID of the target State.
+     *
+     * @param to The ID of the target state.
+     */
+    public void setTo(String to);
+
+    /**
+     * Determines if its valid to step from state <i>a</i> of an artifact
+     * <i>artifact</i> to state <i>b</i>.
+     *
+     * @param artifact The owner artifact of state a and b.
+     * @param a The current state.
+     * @param b The target state.
+     *
+     * @return true, if it is valid to step from a to b, otherwise false.
+     */
+    public boolean isValid(Artifact artifact, State a, State b);
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org