tim@335: /**
tim@335:  *
tim@335:  */
tim@335: package de.intevation.gnv.state;
tim@335: 
tim@335: import java.io.OutputStream;
tim@335: import java.util.Collection;
tim@335: 
tim@335: import org.w3c.dom.Document;
tim@335: 
ingo@358: import de.intevation.artifacts.CallContext;
tim@335: import de.intevation.gnv.state.exception.StateException;
tim@335: 
tim@335: /**
tim@335:  * @author Tim Englich <tim.englich@intevation.de>
tim@335:  * 
tim@335:  */
tim@335: public interface OutputState extends State {
tim@335: 
tim@335:     /**
tim@335:      * Returns the Rendered Result of an State.
tim@335:      * 
tim@335:      * @param outputMode
tim@335:      *            The Mode that should be produces (Chart, Map, ...)
tim@335:      * @return The Bytecode of the Result
tim@335:      * @throws StateException
tim@335:      */
ingo@358:     public void out(
ingo@358:         Document format,
ingo@358:         Collection<InputData> inputData,
ingo@358:         OutputStream outputStream,
ingo@358:         String uuid,
ingo@358:         CallContext callContext
ingo@358:     ) throws StateException;
tim@335: 
tim@335:     /**
tim@335:      * Delivers the provided OutputModes of an State
tim@335:      * 
tim@335:      * @return the provided OutputModes of an State
tim@335:      */
tim@335:     public Collection<OutputMode> getOutputModes();
tim@335: }