/** * do I completely contain this other range? * * @param range: * the time range to check for containment * @return true if range is within my time ramge */ public boolean contains(TimeRange range) { // I must contain both is start and end return (contains(range.firstTime()) && contains(range.lastTime())); } // contains
/** * Return an iterator on events in the CalendarEventVector. * The order in which the events will be found in the iteration is by event start date. * @param range A time range to limit the iterated events. May be null; all events will be returned. * @return an iterator on CalendarEvent objects in the CalendarEventVector (may be empty). */ public Iterator getEvents(TimeRange range) { // pull the range of events from vector Vector events = new Vector(); Iterator it = iterator(); while (it.hasNext()) { CalendarEvent test = (CalendarEvent)it.next(); if (range.overlaps(test.getRange())) { events.add(test); } // %%% if test is past range, we can stop now... } return events.iterator(); } // getEvents
/** * Helper to extract the startDate of a TimeRange into a java.util.Calendar object. * @param range * @return */ private java.util.Calendar getStartDate(TimeRange range) { java.util.Calendar c = new GregorianCalendar(); c.setTimeInMillis(range.firstTime().getTime()); return c; }
/** * Helper to extract the endDate of a TimeRange into a java.util.Calendar object. * @param range * @return */ private java.util.Calendar getEndDate(TimeRange range) { java.util.Calendar c = new GregorianCalendar(); c.setTimeInMillis(range.lastTime().getTime()); return c; }
/** * do I overlap this other range at all? * * @param range: * the time range to check for overlap * @return true if any time in range is in my range is in the other range, false if not */ public boolean overlaps(TimeRange range) { boolean overlaps = false; // null range? // if my start is in the other range if (range.contains(firstTime())) { overlaps = true; } // if my end is in the other range else if (range.contains(lastTime())) { overlaps = true; } // if I contain the other range else if (contains(range)) { overlaps = true; } return overlaps; } // overlaps
+ period.firstTime().toStringLocalDate();
Time timeInPeriod = periodRange.firstTime();
/** * Return an iterator on events in the CalendarEventVector. * The order in which the events will be found in the iteration is by event start date. * @param range A time range to limit the iterated events. May be null; all events will be returned. * @return an iterator on CalendarEvent objects in the CalendarEventVector (may be empty). */ public Iterator getEvents(TimeRange range) { // pull the range of events from vector Vector events = new Vector(); Iterator it = iterator(); while (it.hasNext()) { CalendarEvent test = (CalendarEvent)it.next(); if (range.overlaps(test.getRange())) { events.add(test); } // %%% if test is past range, we can stop now... } return events.iterator(); } // getEvents