Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/DeltaWTsKM.java @ 2785:f87fcedbfa82
FixA: Fixed stupid index bug.
flys-artifacts/trunk@4524 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sat, 26 May 2012 19:20:59 +0000 |
parents | cbb513a8f548 |
children | e63969c173e9 |
line wrap: on
line source
package de.intevation.flys.artifacts.model.fixings; import java.io.Serializable; import java.util.Date; 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); } @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; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :