@Override protected Span _thisSpan(PointerType pointer) { Calendar minuteBegin; Calendar minuteEnd; if (pointer == Pointer.PointerType.FUTURE) { minuteBegin = getNow(); minuteEnd = Time.ymdhm(getNow()); } else if (pointer == Pointer.PointerType.PAST) { minuteBegin = Time.ymdhm(getNow()); minuteEnd = getNow(); } else if (pointer == Pointer.PointerType.NONE) { minuteBegin = Time.ymdhm(getNow()); minuteEnd = Time.cloneAndAdd(Time.ymdhm(getNow()), Calendar.SECOND, RepeaterMinute.MINUTE_SECONDS); } else { throw new IllegalArgumentException("Unable to handle pointer " + pointer + "."); } return new Span(minuteBegin, minuteEnd); }
@Override protected Span _nextSpan(PointerType pointer) { if (_currentMinuteStart == null) { if (pointer == PointerType.FUTURE) { _currentMinuteStart = Time.cloneAndAdd(Time.ymdhm(getNow()), Calendar.MINUTE, 1); } else if (pointer == PointerType.PAST) { _currentMinuteStart = Time.cloneAndAdd(Time.ymdhm(getNow()), Calendar.MINUTE, -1); } else { throw new IllegalArgumentException("Unable to handle pointer " + pointer + "."); } } else { int direction = (pointer == Pointer.PointerType.FUTURE) ? 1 : -1; _currentMinuteStart.add(Calendar.MINUTE, direction); } return new Span(_currentMinuteStart, Calendar.SECOND, RepeaterMinute.MINUTE_SECONDS); }
@Override protected Span _thisSpan(PointerType pointer) { Calendar hourStart; Calendar hourEnd; if (pointer == PointerType.FUTURE) { hourStart = Time.cloneAndAdd(Time.ymdhm(getNow()), Calendar.MINUTE, 1); hourEnd = Time.cloneAndAdd(Time.ymdh(getNow()), Calendar.HOUR, 1); } else if (pointer == PointerType.PAST) { hourStart = Time.ymdh(getNow()); hourEnd = Time.ymdhm(getNow()); } else if (pointer == PointerType.NONE) { hourStart = Time.ymdh(getNow()); hourEnd = Time.cloneAndAdd(hourStart, Calendar.HOUR, 1); } else { throw new IllegalArgumentException("Unable to handle pointer " + pointer + "."); } return new Span(hourStart, hourEnd); }