org.hackystat.utilities.time.interval
Class DayInterval

java.lang.Object
  extended by org.hackystat.utilities.time.interval.Interval
      extended by org.hackystat.utilities.time.interval.DayInterval
All Implemented Interfaces:
java.lang.Iterable<Day>

public class DayInterval
extends Interval
implements java.lang.Iterable<Day>

Represents an interval as a set of Days.

Author:
Hongbing Kou, Philip Johnson

Constructor Summary
DayInterval(Day startDay, Day endDay)
          Instantiates DayInterval with start day and end day.
DayInterval(java.lang.String startYear, java.lang.String startMonth, java.lang.String startDay, java.lang.String endYear, java.lang.String endMonth, java.lang.String endDay)
          Instantiates DayInterval with start day and end day.
DayInterval(javax.xml.datatype.XMLGregorianCalendar xmlStartDay, javax.xml.datatype.XMLGregorianCalendar xmlEndDay)
          Instantiates DayInterval with start day and end day.
 
Method Summary
 boolean equals(java.lang.Object obj)
          Indicates whether some other object is "equal to" this one.
 Day getEndDay()
          Gets the end day of this interval.
 Day getStartDay()
          Gets the start day of this interval.
 int hashCode()
          Gets the hash code.
 java.util.Iterator<Day> iterator()
          Returns an iterator over the days in this interval.
 java.lang.String toString()
          String representation of this interval.
 
Methods inherited from class org.hackystat.utilities.time.interval.Interval
getIntervalType, isDailyInterval, isMonthlyInterval, isWeeklyInterval
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DayInterval

public DayInterval(java.lang.String startYear,
                   java.lang.String startMonth,
                   java.lang.String startDay,
                   java.lang.String endYear,
                   java.lang.String endMonth,
                   java.lang.String endDay)
            throws IllegalIntervalException
Instantiates DayInterval with start day and end day.

Parameters:
startYear - Interval's start year.
startMonth - Interval's start month.
startDay - Interval's start day.
endYear - Interval's end year.
endMonth - Interval's end month.
endDay - Interval's end day.
Throws:
IllegalIntervalException - If start day is later than end day.

DayInterval

public DayInterval(Day startDay,
                   Day endDay)
            throws IllegalIntervalException
Instantiates DayInterval with start day and end day.

Parameters:
startDay - The starting day.
endDay - The ending day.
Throws:
IllegalIntervalException - If start day is later than end day.

DayInterval

public DayInterval(javax.xml.datatype.XMLGregorianCalendar xmlStartDay,
                   javax.xml.datatype.XMLGregorianCalendar xmlEndDay)
            throws IllegalIntervalException
Instantiates DayInterval with start day and end day.

Parameters:
xmlStartDay - The starting day.
xmlEndDay - The ending day.
Throws:
IllegalIntervalException - If start day is later than end day.
Method Detail

getStartDay

public Day getStartDay()
Gets the start day of this interval.

Returns:
Start day of this interval.

getEndDay

public Day getEndDay()
Gets the end day of this interval.

Returns:
End day of this interval.

iterator

public java.util.Iterator<Day> iterator()
Returns an iterator over the days in this interval.

Specified by:
iterator in interface java.lang.Iterable<Day>
Specified by:
iterator in class Interval
Returns:
Iterator over a period.

toString

public java.lang.String toString()
String representation of this interval.

Overrides:
toString in class java.lang.Object
Returns:
Day interval string

hashCode

public int hashCode()
Gets the hash code.

Overrides:
hashCode in class java.lang.Object
Returns:
The hash code.

equals

public boolean equals(java.lang.Object obj)
Indicates whether some other object is "equal to" this one.

Overrides:
equals in class java.lang.Object
Parameters:
obj - Another instance of DayInterval.
Returns:
True if they are equal, false otherwise.