// A class that implements the Date interface. // Barry Cornelius, 19 June 2000 import java.util. StringTokenizer; public class DateImpl implements Date { private int iYear; private int iMonth; private int iDay; public DateImpl() { this(1970, 1, 1); } public DateImpl(final Date pDate) { final DateImpl tDateImpl = (DateImpl)pDate; iYear = tDateImpl.iYear; iMonth = tDateImpl.iMonth; iDay = tDateImpl.iDay; } public DateImpl(final int pYear, final int pMonth, final int pDay) { iYear = pYear; iMonth = pMonth; iDay = pDay; } public DateImpl(final String pDateString) { try { final StringTokenizer tTokens = new StringTokenizer(pDateString, "-"); final String tYearString = tTokens.nextToken(); iYear = Integer.parseInt(tYearString); final String tMonthString = tTokens.nextToken(); iMonth = Integer.parseInt(tMonthString); final String tDayString = tTokens.nextToken(); iDay = Integer.parseInt(tDayString); } catch(final Exception pException) { iYear = 1970; iMonth = 1; iDay = 1; throw new IllegalArgumentException(); } } //BJCHEREFIRST public int getYear() { return iYear; } public int getMonth() { return iMonth; } public int getDay() { return iDay; } public void setYear(final int pYear) { iYear = pYear; } public void setMonth(final int pMonth) { iMonth = pMonth; } public void setDay(final int pDay) { iDay = pDay; } public boolean equals(final Object pObject) { if ( pObject==null || getClass()!=pObject.getClass() ) { return false; } final DateImpl tDateImpl = (DateImpl)pObject; return iYear==tDateImpl.iYear && iMonth==tDateImpl.iMonth && iDay==tDateImpl.iDay; } public int hashCode() { return 0; } public String toString() { return iYear + "-" + iMonth/10 + iMonth%10 + "-" + iDay/10 + iDay%10; } }