ingo@1115: /*
ingo@1115: * Copyright (c) 2010 by Intevation GmbH
ingo@1115: *
ingo@1115: * This program is free software under the LGPL (>=v2.1)
ingo@1115: * Read the file LGPL.txt coming with the software for details
ingo@1115: * or visit http://www.gnu.org/licenses/ if it does not exist.
ingo@1115: */
ingo@1115:
tim@335: package de.intevation.gnv.state;
tim@335:
sascha@480: import de.intevation.artifacts.CallContext;
sascha@480:
sascha@480: import de.intevation.gnv.state.exception.StateException;
sascha@480:
tim@335: import java.io.OutputStream;
sascha@480:
tim@335: import java.util.Collection;
tim@335:
tim@335: import org.w3c.dom.Document;
tim@335:
tim@335: /**
ingo@796: * This is the interface description of an output state. Currently, there are
ingo@796: * two methods defined:
ingo@796: *
ingo@796: * - out(): To start an output of the current state.
ingo@796: * - getOutputModes(): To retrieve a list of possible output modes.
ingo@796: *
sascha@803: *
sascha@780: * @author Tim Englich
tim@335: */
sascha@778: public interface OutputState
sascha@480: extends State
sascha@480: {
tim@335:
tim@335: /**
tim@335: * Returns the Rendered Result of an State.
sascha@778: *
ingo@796: * @param format
ingo@796: * @param inputData
ingo@796: * @param outputStream
sascha@803: * @param uuid
ingo@796: * @param callContext
tim@335: * @throws StateException
tim@335: */
ingo@358: public void out(
sascha@480: Document format,
ingo@358: Collection inputData,
sascha@480: OutputStream outputStream,
sascha@480: String uuid,
sascha@480: CallContext callContext
ingo@358: ) throws StateException;
tim@335:
tim@335: /**
tim@335: * Delivers the provided OutputModes of an State
sascha@778: *
tim@335: * @return the provided OutputModes of an State
tim@335: */
tim@335: public Collection getOutputModes();
tim@335: }
sascha@836: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :