view artifacts/src/main/java/org/dive4elements/river/exports/process/Processor.java @ 6955:94cb1845c667

(issue1452) Coalesce to zero to avoid NaN arithmetic.
author Andre Heinecke <aheinecke@intevation.de>
date Fri, 30 Aug 2013 15:45:14 +0200
parents 1b35b2ddfc28
children f9d5020af0af
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU AGPL (>=v3)
 * and comes with ABSOLUTELY NO WARRANTY! Check out the
 * documentation coming with Dive4Elements River for details.
 */

package org.dive4elements.river.exports.process;

import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
import org.dive4elements.river.exports.XYChartGenerator;
import org.dive4elements.river.themes.ThemeDocument;

/**
 * A processor is intended to generate an output e.g. curve in a chart diagramm from
 * arbitrary data input which can be reused in several generators.
 *
 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a>
 */
public interface Processor {

    /**
     * Processes data to generate e.g. a chart.
     *
     * @param generator XYChartGenerator to add output on.
     * @param aandf       The artifact and facet
     * @param theme      The theme that contains styling information.
     * @param visible       The visibility of the curve.
     * @param index        The index of the curve
     */
    public void doOut(
            XYChartGenerator generator,
            ArtifactAndFacet aandf,
            ThemeDocument    theme,
            boolean          visible,
            int              index);

    /**
     * Returns true if the Processor class is able to generate output for a facet type
     *
     * @param facettype Name of the facet type
     * @return true if the facettype can be processed
     */
    public boolean canHandle(String facettype);
}

http://dive4elements.wald.intevation.org