package er.chronic.handlers;
import java.util.Calendar;
import java.util.List;
import er.chronic.Options;
import er.chronic.repeaters.RepeaterMonthName;
import er.chronic.tags.ScalarDay;
import er.chronic.tags.ScalarYear;
import er.chronic.utils.Span;
import er.chronic.utils.Time;
import er.chronic.utils.Token;
public class RdnRmnSdTTzSyHandler implements IHandler {
public Span handle(List<Token> tokens, Options options) {
// MS: Original changed to:
// t = Chronic.time_class.parse(@text)
// Span.new(t, t + 1)
int month = tokens.get(1).getTag(RepeaterMonthName.class).getType().ordinal();
int day = tokens.get(2).getTag(ScalarDay.class).getType().intValue();
int year = tokens.get(5).getTag(ScalarYear.class).getType().intValue();
Span span;
try {
List<Token> timeTokens = tokens.subList(3, 4);
Calendar dayStart = Time.construct(year, month, day);
span = Handler.dayOrTime(dayStart, timeTokens, options);
}
catch (IllegalArgumentException e) {
if (options.isDebug()) {
e.printStackTrace(System.out);
}
span = null;
}
return span;
}
}