Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/DeltaWTsKM.java @ 2791:c9815016a3bb
Merged revisions 4536 via svnmerge from
file:///home/clients/bsh/bsh-generischer-viewer/Material/SVN/flys-artifacts/trunk
........
r4536 | ingo | 2012-05-27 15:35:15 +0200 (So, 27 Mai 2012) | 1 line
Added more checks in CrossSectionFactory.isNewst() to prevent IndexOutOfBoundsExceptions.
........
flys-artifacts/tags/2.7@4538 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Sun, 27 May 2012 13:39:30 +0000 |
parents | 063b784b60b4 |
children | fe987587ebc9 |
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); } @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 :