package dk.thoerup.traininfoservice.banedk; public class DepartureBean implements Comparable { private String time; private int updated; private String trainNumber; private String destination; private String origin; private String location; private String status; private String note; public String getTime() { return time; } public void setTime(String time) { this.time = time; } public int getUpdated() { return updated; } public void setUpdated(int updated) { this.updated = updated; } public String getTrainNumber() { return trainNumber; } public void setTrainNumber(String trainNumber) { this.trainNumber = trainNumber; } public String getDestination() { return destination; } public void setDestination(String destination) { this.destination = destination; } public String getOrigin() { return origin; } public void setOrigin(String origin) { this.origin = origin; } public String getLocation() { return location; } public void setLocation(String location) { this.location = location; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } @Override public int compareTo(DepartureBean otherBean) { String timeStr1 = time.replace(":","").trim(); String timeStr2 = otherBean.time.replace(":","").trim(); int time1 = 0; int time2 = 0; if (timeStr1.length() > 0) time1 = Integer.parseInt(timeStr1); if (timeStr2.length() > 0) time2 = Integer.parseInt(timeStr2); //work correctly when clock wraps around at midnight if (Math.abs(time1-time2) < 1200) { if (time1 > time2) return 1; else return -1; } else { if (time1 < time2) return 1; else return -1; } } public String getUpdatedString() { String updStr; switch (updated) { case 1: updStr = "< 3 min"; break; case 2: updStr = "3-10 min"; break; case 3: updStr = "> 10 min"; break; case 4: updStr = "No info"; break; default: updStr = "Unknown:" + updated; } return updStr; } }