@@ -0,0 +1,1711 @@
+//@@author A0124153U%0A%0A%0Apackage seedu.address.model.person;%0A%0Aimport seedu.address.commons.exceptions.IllegalValueException;%0A%0A/**%0A * Represents a Task's completion in the ToDoApp%0A * Guarantees: immutable; is valid as declared in %7B@link #isValidCompletion(String)%7D%0A */%0Apublic class Completion %7B%0A%0A    public static final String MESSAGE_COMPLETION_CONSTRAINTS =%0A            %22Task Completion%22;%0A%0A    /*%0A     * The first character of the completion must not be a whitespace,%0A     * otherwise %22 %22 (a blank string) becomes a valid input.%0A     */%0A    public static final String COMPLETION_VALIDATION_REGEX = %22(%5B%5E%5C%5Cs%5D)+%22;%0A%0A    public final boolean value;%0A%0A    /**%0A     * Validates given completion.%0A     *%0A     * @throws IllegalValueException if given completion string is invalid.%0A     */%0A    public Completion(String completion) throws IllegalValueException %7B%0A        assert completion != null;%0A        if (!isValidCompletion(completion)) %7B%0A            throw new IllegalValueException(MESSAGE_COMPLETION_CONSTRAINTS);%0A        %7D%0A        this.value = Boolean.getBoolean(completion);%0A    %7D%0A%0A    /**%0A     * Returns true if a given string is a valid completion.%0A     */%0A    public static boolean isValidCompletion(String test) %7B%0A        return true;%0A    %7D%0A%0A    @Override%0A    public String toString() %7B%0A        return String.valueOf(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 Completion // instanceof handles nulls%0A                && (this.value == ((Completion) other).value)); // state check%0A    %7D%0A%0A    @Override%0A    public int hashCode() %7B%0A        return String.valueOf(value).hashCode();%0A    %7D%0A%0A%7D%0A

Create Completion class