/** * A utility method that takes a list of DatedThing-s and returns a list of Date-s * * @param datedThings List of dates to unwrap * @return A list of Dates */ public static List unwrap(List datedThings) { List result = new ArrayList(); for (int i = 0; i < datedThings.size(); i++) { result.add(((DatedThing) datedThings.get(i)).getDate()); } return result; }
/** * Select and return the DatedThings taht have dates between the two given dates. * * @param startDate Start date * @param endDate End date * @param datedThings DatedThing-s to look at * * @return List of DatedThing-s that are between the given dates */ public static List select(Date startDate, Date endDate, List datedThings) { if (startDate.getTime() > endDate.getTime()) { Date tmp = startDate; startDate = endDate; endDate = tmp; } long t1 = startDate.getTime(); long t2 = endDate.getTime(); List selected = new ArrayList(); for (int i = 0; i < datedThings.size(); i++) { DatedThing datedThing = (DatedThing) datedThings.get(i); long time = datedThing.getDate().getTime(); if ((time >= t1) && (time <= t2)) { selected.add(datedThing); } } return selected; }
long time = datedThing.getDate().getTime();