view flys-artifacts/src/main/java/de/intevation/flys/exports/OutGenerator.java @ 4282:8b4988815974

Added marker for Ws and Qs in Historical Discharge WQ charts. Therefore, the XYChartGenerator got two new methods addDomainMarker(Marker, boolean) and addValueMarker(Marker, boolean). The boolean parameters determine, if the marker should be visible or not. This is analogous to addAxisSeries(XYSeries, int, boolean).
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 29 Oct 2012 05:59:27 +0100
parents 118fe1cc8cc8
children
line wrap: on
line source
package de.intevation.flys.exports;

import java.io.IOException;
import java.io.OutputStream;

import org.w3c.dom.Document;

import de.intevation.artifactdatabase.state.ArtifactAndFacet;
import de.intevation.artifactdatabase.state.Settings;
import de.intevation.artifacts.Artifact;
import de.intevation.artifacts.CallContext;
import de.intevation.flys.collections.FLYSArtifactCollection;


/**
 * An OutGenerator is used to create a collected outputs of a list of Artifacts.
 *
 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
 */
public interface OutGenerator {

    /**
     * Initializes the OutGenerator with meta information which are necessary
     * for the output generation.
     *
     * @param request The incomding request document.
     * @param out     The output stream.
     * @param context The CallContext that provides further information and
     * objects used for the output generation.
     */
    void init(Document request, OutputStream out, CallContext context);

    /**
     * This method is used to tell the OutGenerator which artifact is the master
     * artifact which is used for special operations.
     *
     * @param master The master artifact.
     */
    void setMasterArtifact(Artifact master);

    /**
     * This method is used to set the Collection of the OutGenerator.
     *
     * @param collection A reference to the collection.
     */
    void setCollection(FLYSArtifactCollection collection);

    /**
     * Creates the output of an Artifact and appends that single output to the
     * total output.
     *
     * @param bundle The Facet and artifact that provides information and data for the
     * single output.
     * @param attr A document that might contain some attributes used while
     * producing the output.
     * @param visible Specifies, if this output should be visible or not.
     */
    void doOut(ArtifactAndFacet bundle, Document attr, boolean visible);

    /**
     * Writes the collected output of all artifacts specified in the
     * <i>request</i> (see init()) document to the OutputStream <i>out</i> (see
     * init()).
     */
    void generate() throws IOException;

    /**
     * This method is used to set a <i>Settings</i> object for the <i>Output</i>
     * that is produced by this <i>OutGenerator</i>.
     *
     * @param settings The <i>Settings</i> that might be used while
     * <i>Output</i> creation.
     */
    void setSettings(Settings settings);

    /**
     * Returns the Settings for the Output produced by this OutGenerator.
     *
     * @return the Settings for the Output produced by this OutGenerator.
     */
    Settings getSettings();
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org