tim@335: package de.intevation.gnv.state;
tim@335:
sascha@779: import de.intevation.artifacts.CallContext;
sascha@779:
sascha@779: import de.intevation.gnv.state.exception.StateException;
sascha@779:
tim@335: import java.io.Serializable;
sascha@779:
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@780: * @author Tim Englich
sascha@780: * @author Ingo Weinzierl
sascha@780: * @author Sascha L. Teichmann
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: }