view flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultOutputMode.java @ 4241:49cb65d5932d

Improved the historical discharge calculation. The calculation now creates new HistoricalWQKms (new subclass of WQKms). Those WQKms are used to create new facets from (new) type 'HistoricalDischargeCurveFacet'. The chart generator is improved to support those facets.
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 24 Oct 2012 14:34:35 +0200
parents cd8603aaa730
children
line wrap: on
line source
package de.intevation.flys.client.shared.model;

import java.util.ArrayList;
import java.util.List;

import de.intevation.flys.client.client.ui.CollectionView;
import de.intevation.flys.client.client.ui.OutputTab;


/**
 * The default implementation of an Output.
 *
 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
 */
public class DefaultOutputMode implements OutputMode {

    /** The name of this mode.*/
    protected String name;

    /** The description of this mode.*/
    protected String description;

    /** The mime-type of this mode.*/
    protected String mimeType;

    /** The type that this output mode represents.*/
    protected String type;

    /** The list of available facets of this export mode.*/
    protected List<Facet> facets;


    /** A convinience constructor.*/
    public DefaultOutputMode() {
        facets = new ArrayList<Facet>();
    }


    /**
     * The default constructor.
     *
     * @param name The name of this mode.
     * @param description The description of this mode.
     * @param mimeType The mime-type of this mode.
     */
    public DefaultOutputMode(String name, String description, String mimeType) {
        this.name        = name;
        this.description = description;
        this.mimeType    = mimeType;
    }


    public DefaultOutputMode(
        String      name,
        String      description,
        String      mimeType,
        String      type)
    {
        this(name, description, mimeType);

        this.type = type;
    }


    public DefaultOutputMode(
        String name,
        String description,
        String mimeType,
        List<Facet> facets)
    {
        this(name, description, mimeType);
        this.type   = "";
        this.facets = facets;
    }


    public String getName() {
        return name;
    }


    public String getDescription() {
        return description;
    }


    public String getMimeType() {
        return mimeType;
    }


    public String getType() {
        return type;
    }


    /**
     * Adds a new facet to this export.
     *
     * @param facet The new facet.
     */
    public void addFacet(Facet facet) {
        facets.add(facet);
    }


    /**
     * Returns the number of facets supported by this export.
     *
     * @return the number of facets.
     */
    public int getFacetCount() {
        return facets.size();
    }


    /**
     * Returns the facet at a given position.
     *
     * @param idx The position of a facet.
     *
     * @return a facet.
     */
    public Facet getFacet(int idx) {
        if (idx < getFacetCount()) {
            return facets.get(idx);
        }

        return null;
    }


    public Facet getFacet(String name) {
        for (Facet facet: facets) {
            if (name.equals(facet.getName())) {
                return facet;
            }
        }

        return null;
    }


    public List<Facet> getFacets() {
        return facets;
    }


    public OutputTab createOutputTab(String t, Collection c, CollectionView p) {
        return null;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org