view gnv-artifacts/src/main/java/de/intevation/gnv/state/State.java @ 725:dde7f51dbe1e

Improved exception handling while feeding an artifact. gnv-artifacts/trunk@757 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 10 Mar 2010 13:27:14 +0000
parents e86d37008fd1
children 93489a0c1328
line wrap: on
line source
/**
 *
 */
package de.intevation.gnv.state;

import java.io.Serializable;
import java.util.Collection;
import java.util.Map;

import org.w3c.dom.Document;
import org.w3c.dom.Node;

import de.intevation.artifacts.CallContext;
import de.intevation.gnv.state.exception.StateException;

/**
 * @author Tim Englich         (tim.englich@intevation.de)
 * @author Ingo Weinzierl      (ingo.weinzierl@intevation.de)
 * @author Sascha L. Teichmann (sascha.teichmann@intevation.de)
 */
public interface State extends Serializable {

    public void setup(Node configuration);

    public String getID();

    public String getDescription();

    public void describe(
        Document    document,
        Node        rootNode,
        CallContext context,
        String      uuid
    );

    public Document feed(
        CallContext context, Collection<InputData> inputData, String uuid)
    throws StateException;

    public void setParent(State state);

    public State getParent();

    public Collection<InputValue> getRequiredInputValues();

    public Map<String, InputData> inputData();

    public void putInputData(Collection<InputData> inputData, String uuid)
    throws StateException;

    public Collection<InputData> getInputData() throws StateException;

    public void advance(String uuid, CallContext context)
    throws StateException;

    public void initialize(String uuid, CallContext context)
    throws StateException;

    public void reset(String uuid);

    public void endOfLife(Object globalContext);

    public void setPreSettings(Map<String,InputData> preSettings);

    public Map<String,InputData> getPreSettings();
}

http://dive4elements.wald.intevation.org