view artifact-database/src/main/java/org/dive4elements/artifactdatabase/transition/Transition.java @ 500:cbe3dfd3e1a6 3.0.15

Framework: Added a method to the transition engine to recursively collect all state id for a given artifact identifer and a state id. Goal is to create a predicate dc:state-successors-contains($artifict-type-identifer, 'winfo.calculation.select, $current-state-id).
author Sascha L. Teichmann <teichmann@intevation.de>
date Tue, 27 Aug 2013 15:48:26 +0200
parents 415df0fc4fa1
children
line wrap: on
line source
package org.dive4elements.artifactdatabase.transition;

import org.w3c.dom.Node;

import org.dive4elements.artifacts.Artifact;

import org.dive4elements.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