view gnv-artifacts/src/main/java/de/intevation/gnv/raster/Filter.java @ 1115:f953c9a559d8

Added license file and license headers. gnv-artifacts/trunk@1260 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 02 Nov 2010 17:46:55 +0000
parents d766fe2d917a
children
line wrap: on
line source
/*
 * Copyright (c) 2010 by Intevation GmbH
 *
 * This program is free software under the LGPL (>=v2.1)
 * Read the file LGPL.txt coming with the software for details
 * or visit http://www.gnu.org/licenses/ if it does not exist.
 */

package de.intevation.gnv.raster;

import org.w3c.dom.Element;

/**
 * Interface to model transformations of rasters.
 * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
 */
public interface Filter
{
    /**
     *  Allows the creation of filters parameterized from XML elements.
     */
    public interface Factory {

        /**
         * Setup the factory with a given XML element.
         * @param element
         */
        void init(Element element);

        /**
         * Created a new Filter with this factory.
         * @return The new created Filter.
         */
        Filter create();

    } // interface Factory

    /**
     * Apply this filter to a given raster. The original raster is
     * unmodified and a new raster is created.
     * @param raster The original raster.
     * @return The new raster.
     */
    Raster filter(Raster raster);
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org