tim@335: /** tim@335: * tim@335: */ tim@335: package de.intevation.gnv.state; tim@335: tim@335: import java.io.Serializable; 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@598: import de.intevation.artifacts.CallContext; tim@598: import de.intevation.gnv.state.exception.StateException; tim@598: 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: ingo@493: public void describe( ingo@493: Document document, ingo@493: Node rootNode, ingo@493: CallContext context, ingo@493: String uuid ingo@493: ); tim@335: ingo@725: public Document feed( ingo@725: CallContext context, Collection inputData, String uuid) ingo@607: throws StateException; ingo@607: 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: ingo@493: public void putInputData(Collection inputData, String uuid) ingo@493: throws StateException; tim@335: tim@335: public Collection getInputData() throws StateException; tim@335: ingo@493: public void advance(String uuid, CallContext context) ingo@493: throws StateException; ingo@493: ingo@493: public void initialize(String uuid, CallContext context) ingo@493: throws StateException; ingo@493: ingo@470: public void reset(String uuid); sascha@481: sascha@481: public void endOfLife(Object globalContext); tim@598: tim@598: public void setPreSettings(Map preSettings); tim@612: tim@612: public Map getPreSettings(); ingo@759: ingo@759: public void cleanup(Object context); tim@335: }