view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightData.java @ 2757:6e89147f5ca3

Expose reference curve parameters via blackboard. flys-artifacts/trunk@4492 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Thu, 24 May 2012 04:38:49 +0000
parents 2952f6dee5cf
children 4bd3d8bbb60c
line wrap: on
line source
package de.intevation.flys.artifacts.model;

import java.io.Serializable;

import gnu.trove.TDoubleArrayList;

import de.intevation.artifacts.CallContext;

import de.intevation.flys.artifacts.resources.Resources;


public class MiddleBedHeightData implements Serializable {

    public static final String I18N_SINGLE_NAME = "facet.bedheight_middle.single";
    public static final String I18N_EPOCH_NAME  = "facet.bedheight_middle.epoch";

    private int    startYear;
    private int    endYear;
    private String evaluatedBy;
    private String description;

    private TDoubleArrayList km;
    private TDoubleArrayList middleHeight;
    private TDoubleArrayList uncertainty;
    private TDoubleArrayList soundingWidth;
    private TDoubleArrayList dataGap;
    private TDoubleArrayList width;


    protected MiddleBedHeightData(int start, int end, String eval, String desc) {
        this.startYear   = start;
        this.endYear     = end;
        this.evaluatedBy = eval;
        this.description = desc;

        this.km            = new TDoubleArrayList();
        this.middleHeight  = new TDoubleArrayList();
        this.uncertainty   = new TDoubleArrayList();
        this.soundingWidth = new TDoubleArrayList();
        this.dataGap       = new TDoubleArrayList();
        this.width         = new TDoubleArrayList();
    }


    public int getStartYear() {
        return startYear;
    }

    public int getEndYear() {
        return endYear;
    }

    public String getEvaluatedBy() {
        return evaluatedBy;
    }

    public String getDescription() {
        return description;
    }


    public void addKM(double km) {
        this.km.add(km);
    }

    public double getKM(int idx) {
        return km.get(idx);
    }

    public void addMiddleHeight(double middleHeight) {
        this.middleHeight.add(middleHeight);
    }

    public double getMiddleHeight(int idx) {
        return middleHeight.get(idx);
    }

    public void addUncertainty(double uncertainty) {
        this.uncertainty.add(uncertainty);
    }

    public double getUncertainty(int idx) {
        return uncertainty.get(idx);
    }

    public void addSoundingWidth(double soundingWidth) {
        this.soundingWidth.add(soundingWidth);
    }

    public double getSoundingWidth(int idx) {
        return soundingWidth.get(idx);
    }

    public void addDataGap(double gap) {
        this.dataGap.add(gap);
    }

    public double getDataGap(int idx) {
        return dataGap.get(idx);
    }

    public void addWidth(double width) {
        this.width.add(width);
    }

    public double getWidth(int idx) {
        return width.get(idx);
    }

    public int size() {
        return km.size();
    }


    public double[][] getMiddleHeightsPoints() {
        double[][] points = new double[2][size()];

        for (int i = 0, n = size(); i < n; i++) {
            points[0][i] = getKM(i);
            points[1][i] = getMiddleHeight(i);
        }

        return points;
    }


    public String getSoundingName(CallContext context) {
        if (getStartYear() == getEndYear()) {
            return Resources.getMsg(
                context.getMeta(),
                I18N_SINGLE_NAME,
                I18N_SINGLE_NAME,
                new Object[] { getStartYear() }
            );
        }
        else {
            return Resources.getMsg(
                context.getMeta(),
                I18N_EPOCH_NAME,
                I18N_EPOCH_NAME,
                new Object[] { getStartYear(), getEndYear() }
            );
        }
    }
}

http://dive4elements.wald.intevation.org