@@ -0,0 +1,1490 @@
+package seedu.address.model.task;%0A%0Aimport seedu.address.commons.exceptions.IllegalValueException;%0A%0A/**%0A * Represents a Person's date number in the address book.%0A * Guarantees: immutable; is valid as declared in %7B@link #isValidDate(String)%7D%0A */%0Apublic class Date %7B%0A%0A    public static final String MESSAGE_DATE_CONSTRAINTS = %22Person date numbers should only contain numbers%22;%0A    public static final String DATE_VALIDATION_REGEX = %22%5C%5Cd+%22;%0A%0A    public final String value;%0A%0A    /**%0A     * Validates given date number.%0A     *%0A     * @throws IllegalValueException if given date string is invalid.%0A     */%0A    public Date(String date) throws IllegalValueException %7B%0A        assert date != null;%0A        date = date.trim();%0A        if (!isValidDate(date)) %7B%0A            throw new IllegalValueException(MESSAGE_DATE_CONSTRAINTS);%0A        %7D%0A        this.value = date;%0A    %7D%0A%0A    /**%0A     * Returns true if a given string is a valid person date number.%0A     */%0A    public static boolean isValidDate(String test) %7B%0A        return test.matches(DATE_VALIDATION_REGEX);%0A    %7D%0A%0A    @Override%0A    public String toString() %7B%0A        return value;%0A    %7D%0A%0A    @Override%0A    public boolean equals(Object other) %7B%0A        return other == this // short circuit if same object%0A                %7C%7C (other instanceof Date // instanceof handles nulls%0A                && this.value.equals(((Date) other).value)); // state check%0A    %7D%0A%0A    @Override%0A    public int hashCode() %7B%0A        return value.hashCode();%0A    %7D%0A%0A%7D%0A

add Date.java