package com.njtransit.domain;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
public class AlternateService implements IService {
private int id;
private List<Calendar> dates = new ArrayList<Calendar>();
private static SimpleDateFormat DF = new SimpleDateFormat("yyyy-MM-DD");
public AlternateService(int id) {
super();
this.id = id;
}
public int getId() {
return id;
}
public boolean isToday() {
Calendar now = Calendar.getInstance();
int today = now.get(Calendar.DAY_OF_YEAR);
int year = now.get(Calendar.YEAR);
for (Calendar c : dates) {
if (today == c.get(Calendar.DAY_OF_YEAR)
&& year == c.get(Calendar.YEAR)) {
return true;
}
}
return false;
}
public List<Calendar> getDates() {
return (dates);
}
public boolean isTomorrow() {
Calendar tomorrow = Calendar.getInstance();
tomorrow.add(Calendar.DAY_OF_YEAR, 1);
int tomorrowDay = tomorrow.get(Calendar.DAY_OF_YEAR);
int tomorrowYear = tomorrow.get(Calendar.YEAR);
for (Calendar c : dates) {
if (tomorrowDay == c.get(Calendar.DAY_OF_YEAR)
&& tomorrowYear == c.get(Calendar.YEAR)) {
return true;
}
}
return false;
}
@Override
public String toString() {
StringBuilder b = new StringBuilder("[");
for(Calendar c : dates) {
b.append(DF.format(c.getTime()));
}
b.append("]");
return b.toString();
}
@Override
public boolean isDate(Calendar cal) {
Calendar now = cal;
int today = now.get(Calendar.DAY_OF_YEAR);
int year = now.get(Calendar.YEAR);
for (Calendar c : dates) {
if (today == c.get(Calendar.DAY_OF_YEAR)
&& year == c.get(Calendar.YEAR)) {
return true;
}
}
return false;
}
}