@Override protected Span _thisSpan(PointerType pointer) { return new Span(getNow(), Calendar.SECOND, 1); }
@Override protected Span _nextSpan(PointerType pointer) { int direction = (pointer == Pointer.PointerType.FUTURE) ? 1 : -1; if (_secondStart == null) { _secondStart = Time.cloneAndAdd(getNow(), Calendar.SECOND, direction); } else { _secondStart.add(Calendar.SECOND, direction); } return new Span(_secondStart, Calendar.SECOND, 1); }
@Override protected Span _nextSpan(PointerType pointer) { if (_currentDayStart == null) { _currentDayStart = Time.ymd(getNow()); } int direction = (pointer == Pointer.PointerType.FUTURE) ? 1 : -1; _currentDayStart.add(Calendar.DAY_OF_MONTH, direction); return new Span(_currentDayStart, Calendar.DAY_OF_MONTH, 1); }
/** * Add a number of seconds to this span, returning the * resulting Span */ public Span add(long seconds) { return new Span(getBegin() + seconds, getEnd() + seconds); }
@Override protected Span _nextSpan(PointerType pointer) { int direction = (pointer == Pointer.PointerType.FUTURE) ? 1 : -1; if (_currentDayStart == null) { _currentDayStart = Time.ymd(getNow()); _currentDayStart.add(Calendar.DAY_OF_MONTH, direction); int dayNum = getType().ordinal(); while ((_currentDayStart.get(Calendar.DAY_OF_WEEK) - 1) != dayNum) { _currentDayStart.add(Calendar.DAY_OF_MONTH, direction); } } else { _currentDayStart.add(Calendar.DAY_OF_MONTH, direction * 7); } return new Span(_currentDayStart, Calendar.DAY_OF_MONTH, 1); }
public Span handle(List<Token> tokens, Options options) { int month = tokens.get(0).getTag(ScalarMonth.class).getType().intValue(); int day = tokens.get(1).getTag(ScalarDay.class).getType().intValue(); Calendar start = Time.construct(options.getNow().get(Calendar.YEAR), month, day); Calendar end = Time.cloneAndAdd(start, Calendar.DAY_OF_MONTH, 1); return new Span(start, end); }
public Span handle(List<Token> tokens, Options options) { int month = tokens.get(0).getTag(ScalarMonth.class).getType().intValue(); int year = tokens.get(1).getTag(ScalarYear.class).getType().intValue(); Span span; try { Calendar start = Time.construct(year, month); Calendar end = Time.cloneAndAdd(start, Calendar.MONTH, 1); span = new Span(start, end); } catch (IllegalArgumentException e) { if (options.isDebug()) { e.printStackTrace(System.out); } span = null; } return span; }
@Override protected Span _nextSpan(PointerType pointer) { int direction = (pointer == Pointer.PointerType.FUTURE) ? 1 : -1; if (_currentMonthStart == null) { _currentMonthStart = Time.cloneAndAdd(Time.ym(getNow()), Calendar.MONTH, direction); } else { _currentMonthStart = Time.cloneAndAdd(_currentMonthStart, Calendar.MONTH, direction); } return new Span(_currentMonthStart, Calendar.MONTH, 1); }
@Override public Span getOffset(Span span, int amount, Pointer.PointerType pointer) { int direction = (pointer == Pointer.PointerType.FUTURE) ? 1 : -1; return new Span(Time.cloneAndAdd(span.getBeginCalendar(), Calendar.MONTH, amount * direction), Time.cloneAndAdd(span.getEndCalendar(), Calendar.MONTH, amount * direction)); }
@Override public Span getOffset(Span span, int amount, Pointer.PointerType pointer) { int direction = (pointer == Pointer.PointerType.FUTURE) ? 1 : -1; Calendar newBegin = Time.cloneAndAdd(span.getBeginCalendar(), Calendar.YEAR, amount * direction); Calendar newEnd = Time.cloneAndAdd(span.getEndCalendar(), Calendar.YEAR, amount * direction); return new Span(newBegin, newEnd); }
public Span handle(List<Token> tokens, Options options) { int month = tokens.get(0).getTag(RepeaterMonthName.class).getType().ordinal(); int year = tokens.get(1).getTag(ScalarYear.class).getType().intValue(); Span span; try { Calendar start = Time.construct(year, month); Calendar end = Time.cloneAndAdd(start, Calendar.MONTH, 1); span = new Span(start, end); } catch (IllegalArgumentException e) { if (options.isDebug()) { e.printStackTrace(System.out); } span = null; } return span; }
@Override protected Span _nextSpan(PointerType pointer) { if (_currentYearStart == null) { if (pointer == PointerType.FUTURE) { _currentYearStart = Time.cloneAndAdd(Time.y(getNow()), Calendar.YEAR, 1); } else if (pointer == PointerType.PAST) { _currentYearStart = Time.cloneAndAdd(Time.y(getNow()), Calendar.YEAR, -1); } else { throw new IllegalArgumentException("Unable to handle pointer " + pointer + "."); } } else { int direction = (pointer == Pointer.PointerType.FUTURE) ? 1 : -1; _currentYearStart.add(Calendar.YEAR, direction); } return new Span(_currentYearStart, Calendar.YEAR, 1); }
@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 _nextSpan(PointerType pointer) { if (_currentDayStart == null) { if (pointer == PointerType.FUTURE) { _currentDayStart = Time.cloneAndAdd(Time.ymdh(getNow()), Calendar.HOUR, 1); } else if (pointer == PointerType.PAST) { _currentDayStart = Time.cloneAndAdd(Time.ymdh(getNow()), Calendar.HOUR, -1); } else { throw new IllegalArgumentException("Unable to handle pointer " + pointer + "."); } } else { int direction = (pointer == Pointer.PointerType.FUTURE) ? 1 : -1; _currentDayStart.add(Calendar.HOUR, direction); } return new Span(_currentDayStart, Calendar.HOUR, 1); }
/** * Guess a specific time within the given span */ // DIFF: We return Span instead of Date protected static Span guess(Span span) { if (span == null) { return null; } long guessValue; if (span.getWidth() > 1) { guessValue = span.getBegin() + (span.getWidth() / 2); } else { guessValue = span.getBegin(); } Span guess = new Span(guessValue, guessValue); return guess; } }
@Override protected Span _thisSpan(PointerType pointer) { Calendar rangeStart = Time.cloneAndAdd(Time.ymd(getNow()), Calendar.SECOND, _range.getBegin()); _currentSpan = new Span(rangeStart, Time.cloneAndAdd(rangeStart, Calendar.SECOND, _range.getWidth())); return _currentSpan; }
@Override public Span getOffset(Span span, int amount, PointerType pointer) { int direction = (pointer == Pointer.PointerType.FUTURE) ? 1 : -1; RepeaterWeekend weekend = new RepeaterWeekend(); weekend.setStart(span.getBeginCalendar()); Calendar start = Time.cloneAndAdd(weekend.nextSpan(pointer).getBeginCalendar(), Calendar.SECOND, (amount - 1) * direction * RepeaterWeek.WEEK_SECONDS); return new Span(start, Time.cloneAndAdd(start, Calendar.SECOND, span.getWidth())); }
@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); }
@Override protected Span _thisSpan(PointerType pointer) { Calendar yearStart; Calendar yearEnd; if (pointer == PointerType.FUTURE) { yearStart = Time.cloneAndAdd(Time.ymd(getNow()), Calendar.DAY_OF_MONTH, 1); yearEnd = Time.cloneAndAdd(Time.yJan1(getNow()), Calendar.YEAR, 1); } else if (pointer == PointerType.PAST) { yearStart = Time.yJan1(getNow()); yearEnd = Time.ymd(getNow()); } else if (pointer == PointerType.NONE) { yearStart = Time.yJan1(getNow()); yearEnd = Time.cloneAndAdd(Time.yJan1(getNow()), Calendar.YEAR, 1); } else { throw new IllegalArgumentException("Unable to handle pointer " + pointer + "."); } return new Span(yearStart, yearEnd); }
@Override protected Span _thisSpan(PointerType pointer) { Calendar dayBegin; Calendar dayEnd; if (pointer == PointerType.FUTURE) { dayBegin = Time.cloneAndAdd(Time.ymdh(getNow()), Calendar.HOUR, 1); dayEnd = Time.cloneAndAdd(Time.ymd(getNow()), Calendar.DAY_OF_MONTH, 1); } else if (pointer == PointerType.PAST) { dayBegin = Time.ymd(getNow()); dayEnd = Time.ymdh(getNow()); } else if (pointer == PointerType.NONE) { dayBegin = Time.ymd(getNow()); dayEnd = Time.cloneAndAdd(Time.ymdh(getNow()), Calendar.DAY_OF_MONTH, 1); } else { throw new IllegalArgumentException("Unable to handle pointer " + pointer + "."); } return new Span(dayBegin, dayEnd); }