package er.chronic.repeaters; import er.chronic.utils.Range; public class EnumRepeaterDayPortion extends RepeaterDayPortion<RepeaterDayPortion.DayPortion> { private static final Range AM_RANGE = new Range(0, 12 * 60 * 60); // 12am-12pm private static final Range PM_RANGE = new Range(12 * 60 * 60, 24 * 60 * 60 - 1); // 12pm-12am private static final Range MORNING_RANGE = new Range(6 * 60 * 60, 12 * 60 * 60); // 6am-12pm private static final Range AFTERNOON_RANGE = new Range(13 * 60 * 60, 17 * 60 * 60); // 1pm-5pm private static final Range EVENING_RANGE = new Range(17 * 60 * 60, 20 * 60 * 60); // 5pm-8pm private static final Range NIGHT_RANGE = new Range(20 * 60 * 60, 24 * 60 * 60); // 8pm-12pm public EnumRepeaterDayPortion(RepeaterDayPortion.DayPortion type) { super(type); } @Override protected Range createRange(RepeaterDayPortion.DayPortion type) { Range range; if (type == RepeaterDayPortion.DayPortion.AM) { range = EnumRepeaterDayPortion.AM_RANGE; } else if (type == RepeaterDayPortion.DayPortion.PM) { range = EnumRepeaterDayPortion.PM_RANGE; } else if (type == RepeaterDayPortion.DayPortion.MORNING) { range = EnumRepeaterDayPortion.MORNING_RANGE; } else if (type == RepeaterDayPortion.DayPortion.AFTERNOON) { range = EnumRepeaterDayPortion.AFTERNOON_RANGE; } else if (type == RepeaterDayPortion.DayPortion.EVENING) { range = EnumRepeaterDayPortion.EVENING_RANGE; } else if (type == RepeaterDayPortion.DayPortion.NIGHT) { range = EnumRepeaterDayPortion.NIGHT_RANGE; } else { throw new IllegalArgumentException("Unknown day portion type " + type); } return range; } @Override protected int _getWidth(Range range) { int width = (int) range.getWidth(); return width; } }