Mercurial > dive4elements > river
view flys-aft/src/main/java/de/intevation/aft/TimeInterval.java @ 4171:1d8faeedda0c
Sort calculation results of a historical discharge calculation based on their start date.
Therefore, there are two new inner classes TimerangeItem and HistoricalTimerangeItem that wrap
a W, Q, Timerange (and delta Q). WQTimerange and HistoricalWQTimerange now implement a sort()
that return the results (TimerangeItem or HistoricalWQTimerangeItem) sorted by their start date.
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 18 Oct 2012 09:28:51 +0200 |
parents | b6a18d706cbe |
children | b195fede1c3b |
line wrap: on
line source
package de.intevation.aft; import java.util.Date; public class TimeInterval implements Comparable<TimeInterval> { protected int id; protected Date start; protected Date stop; public TimeInterval() { } public TimeInterval(Date start, Date stop) { this.start = start; this.stop = stop; } public TimeInterval(int id, Date start, Date stop) { this(start, stop); this.id = id; } protected static int compare(Date d1, Date d2) { long s1 = d1 != null ? d1.getTime()/1000L : 0L; long s2 = d2 != null ? d2.getTime()/1000L : 0L; long diff = s1 - s2; return diff < 0L ? -1 : diff > 0L ? 1 : 0; } @Override public int compareTo(TimeInterval other) { int cmp = compare(start, other.start); return cmp != 0 ? cmp : compare(stop, other.stop); } public int getId() { return id; } public void setId(int id) { this.id = id; } public Date getStart() { return start; } public void setStart(Date start) { this.start = start; } public Date getStop() { return stop; } public void setStop(Date stop) { this.stop = stop; } public String toString() { return "[TimeInterval: start=" + start + ", stop=" + stop + "]"; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :