tim@335: /** tim@335: * tim@335: */ tim@335: package de.intevation.gnv.state; tim@335: sascha@481: import de.intevation.artifacts.CallMeta; sascha@481: sascha@481: import de.intevation.gnv.state.exception.StateException; sascha@481: tim@335: import java.io.Serializable; sascha@481: tim@335: import java.util.Collection; ingo@473: import java.util.Map; tim@335: tim@335: import org.w3c.dom.Document; tim@335: import org.w3c.dom.Node; tim@335: tim@335: /** sascha@481: * @author Tim Englich (tim.englich@intevation.de) sascha@481: * @author Ingo Weinzierl (ingo.weinzierl@intevation.de) sascha@481: * @author Sascha L. Teichmann (sascha.teichmann@intevation.de) tim@335: */ tim@335: public interface State extends Serializable { tim@335: tim@335: public void setup(Node configuration); tim@335: tim@335: public String getID(); tim@335: tim@335: public String getDescription(); tim@335: tim@335: public void describe(Document document, Node rootNode, tim@335: CallMeta callMeta, String uuid); tim@335: tim@335: public void setParent(State state); tim@335: tim@335: public State getParent(); tim@335: tim@335: public Collection getRequiredInputValues(); tim@335: ingo@473: public Map inputData(); ingo@473: tim@335: public void putInputData(Collection inputData, tim@335: String uuid)throws StateException; tim@335: tim@335: public Collection getInputData() throws StateException; tim@335: tim@335: public void advance(String uuid, CallMeta callMeta) tim@335: throws StateException; tim@335: public void initialize(String uuid, CallMeta callMeta) tim@335: throws StateException; tim@335: ingo@470: public void reset(String uuid); sascha@481: sascha@481: public void endOfLife(Object globalContext); tim@335: }