@@ -0,0 +1,1652 @@
+//@@author A0124591H%0A%0A%0Apackage seedu.address.model.person;%0A%0Aimport seedu.address.commons.exceptions.IllegalValueException;%0A%0A/**%0A * Represents a Task's deadline in the ToDoApp%0A * Guarantees: immutable; is valid as declared in %7B@link #isValidDeadline(String)%7D%0A */%0Apublic class Deadline %7B%0A%0A    public static final String MESSAGE_ADDRESS_CONSTRAINTS =%0A            %22Task deadline%22;%0A%0A    /*%0A     * The first character of the address must not be a whitespace,%0A     * otherwise %22 %22 (a blank string) becomes a valid input.%0A     */%0A    public static final String ADDRESS_VALIDATION_REGEX = %22%5B%5E%5C%5Cs%5D.*%22;%0A%0A    public final String value;%0A%0A    /**%0A     * Validates given address.%0A     *%0A     * @throws IllegalValueException if given address string is invalid.%0A     */%0A    public Deadline(String deadline) throws IllegalValueException %7B%0A        assert deadline != null;%0A        if (!isValidDeadline(deadline)) %7B%0A            throw new IllegalValueException(MESSAGE_ADDRESS_CONSTRAINTS);%0A        %7D%0A        this.value = deadline;%0A    %7D%0A%0A    /**%0A     * Returns true if a given string is a valid person email.%0A     */%0A    public static boolean isValidDeadline(String test) %7B%0A        return test.matches(ADDRESS_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 Deadline // instanceof handles nulls%0A                && this.value.equals(((Deadline) 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 Deadline class