// A type to represent a date.
// Barry Cornelius, 19 June 2000
public interface Date
{
   // return the Year part of the target date
   public int getYear();

   // return the Month part of the target date
   public int getMonth();

   // return the Day part of the target date
   public int getDay();

   // set the Year part of the target date to pYear
   public void setYear(int pYear); 

   // set the Month part of the target date to pMonth
   public void setMonth(int pMonth);

   // set the Day part of the target date to pDay
   public void setDay(int pDay);

   // return true if and only if the target is the same date as pObject
   public boolean equals(Object pObject);

   // return the hashcode for the value of the target date
   public int hashCode();

   // return a textual representation of the target date
   public String toString();
}
