view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/DeltaWTsKM.java @ 2792:fe987587ebc9

Merged revisions 4539-4540,4543,4545-4546 via svnmerge from file:///home/clients/bsh/bsh-generischer-viewer/Material/SVN/flys-artifacts/trunk ........ r4539 | teichmann | 2012-05-27 20:02:13 +0200 (So, 27 Mai 2012) | 1 line FixA: Added forgotten csv/report facets/generators to conf. ........ r4540 | teichmann | 2012-05-27 20:11:31 +0200 (So, 27 Mai 2012) | 1 line FixA: Fixed class cast bug in report facet. ........ r4543 | teichmann | 2012-05-28 20:35:01 +0200 (Mo, 28 Mai 2012) | 1 line FixA: Added facet to return delta w/t as CSV ........ r4545 | teichmann | 2012-05-28 22:59:27 +0200 (Mo, 28 Mai 2012) | 1 line FixA: Made Delta W/t calculation finally work ........ r4546 | teichmann | 2012-05-28 23:34:24 +0200 (Mo, 28 Mai 2012) | 1 line FixA: corrected fitting (Q->W instead W->Q). ........ flys-artifacts/tags/2.7@4547 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 29 May 2012 04:58:29 +0000
parents 063b784b60b4
children
line wrap: on
line source
package de.intevation.flys.artifacts.model.fixings;

import java.io.Serializable;

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

public class DeltaWTsKM
implements   Serializable
{
    public static final double EPSILON = 1e-5;

    public static class KM
    implements          Serializable, Comparable<KM>
    {
        protected double km;

        protected List<DeltaWT> deltaWTs;

        public KM() {
            deltaWTs = new ArrayList<DeltaWT>();
        }

        public KM(double km) {
            this();
            this.km = km;
        }

        public double getKm() {
            return km;
        }

        public void setKm(double km) {
            this.km = km;
        }

        public List<DeltaWT> getDeltaWTs() {
            return deltaWTs;
        }

        public void setDeltaWTs(List<DeltaWT> deltaWTs) {
            this.deltaWTs = deltaWTs;
        }

        public void add(DeltaWT deltaWT) {
            deltaWTs.add(deltaWT);
        }

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

        @Override
        public int compareTo(KM other) {
            double d = km - other.km;
            if (d < -EPSILON) return -1;
            if (d >  EPSILON) return +1;
            return 0;
        }
    } // class KM

    protected List<KM> kms;

    public DeltaWTsKM() {
        this(10);
    }

    public DeltaWTsKM(int capacity) {
        kms = new ArrayList<KM>(capacity);
    }

    public void add(KM km) {
        kms.add(km);
    }

    public void sort() {
        Collections.sort(kms);
    }

    public KM findByKm(double km) {
        int idx = Collections.binarySearch(kms, new KM(km));
        return idx >= 0 ? kms.get(idx) : null;
    }

    public List<KM> getKms() {
        return kms;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org