package com.plusonelabs.calendar;
import org.joda.time.DateTime;
public enum EndedSomeTimeAgo {
NONE("NONE", 0),
TODAY("TODAY", 0) {
@Override
public DateTime endedAt(DateTime now) {
return now.withTimeAtStartOfDay();
}
},
ONE_HOUR("ONE_HOUR", 1),
TWO_HOURS("TWO_HOURS", 2),
FOUR_HOURS("FOUR_HOURS", 4),
YESTERDAY("YESTERDAY", 0) {
@Override
public DateTime endedAt(DateTime now) {
return now.withTimeAtStartOfDay().minusDays(1);
}
};
private final String value;
private final int hoursAgo;
EndedSomeTimeAgo(String valueIn, int hoursAgo) {
this.value = valueIn;
this.hoursAgo = hoursAgo;
}
public DateTime endedAt(DateTime now) {
return now.minusHours(hoursAgo);
}
public static EndedSomeTimeAgo fromValue(String valueIn) {
EndedSomeTimeAgo ended = NONE;
for (EndedSomeTimeAgo item : EndedSomeTimeAgo.values()) {
if (item.value.equals(valueIn)) {
ended = item;
break;
}
}
return ended;
}
public String save() {
return value;
}
}