@@ -0,0 +1,2068 @@
+package tars.model.task.rsv;%0A%0Aimport java.util.Objects;%0Aimport java.util.Set;%0A%0Aimport tars.commons.util.CollectionUtil;%0Aimport tars.model.task.DateTime;%0Aimport tars.model.task.Name;%0Aimport tars.model.task.Priority;%0Aimport tars.model.task.Task;%0A%0A/**%0A * A task that has unconfirmed, reserved dates.%0A * %0A * @@author A0124333U%0A */%0A%0Apublic class RsvTask extends Task %7B%0A    private Set%3CDateTime%3E dateTimeSet;%0A    private Set%3CString%3E tempTagSet;%0A    %0A    public RsvTask(Name name, Set%3CDateTime%3E dateTimeSet, Priority priority, Set%3CString%3E tempTagSet) %7B%0A        assert !CollectionUtil.isAnyNull(name, dateTimeSet, priority, tempTagSet);%0A        %0A        this.name = name;%0A        this.dateTimeSet = dateTimeSet;%0A        this.priority = priority;%0A        this.tempTagSet = tempTagSet;%0A    %7D%0A    %0A    /*%0A     * Accessors%0A     * Note: Accessor methods for the other attributes can be found in parent class, Task.java%0A     */%0A%0A    public Set%3CDateTime%3E getDateTimeSet() %7B%0A        return dateTimeSet;%0A    %7D%0A    %0A    public Set%3CString%3E getTempTagSet() %7B%0A        return tempTagSet;%0A    %7D%0A    %0A    /*%0A     * Mutators%0A     * Note: Mutators methods for the other attributes can be found in parent class, Task.java%0A     */%0A      %0A    public void setDateTimeSet(Set%3CDateTime%3E dateTimeSet) %7B%0A        this.dateTimeSet = dateTimeSet;%0A    %7D%0A    %0A    public void setTempTagSet(Set%3CString%3E tempTagSet) %7B%0A        this.tempTagSet = tempTagSet;%0A    %7D%0A    %0A    @Override%0A    public int hashCode() %7B%0A        // use this method for custom fields hashing instead of implementing your own%0A        return Objects.hash(name, dateTimeSet);%0A    %7D   %0A    %0A    @Override%0A    public String toString() %7B%0A        final StringBuilder builder = new StringBuilder();%0A        builder.append(getName())%0A                .append(%22 DateTime: %22)%0A                .append(getDateTimeSet().toString())%0A                .append(%22 Priority: %22)%0A                .append(priorityString())%0A                .append(%22 Tags: %22)%0A                .append(getTempTagSet().toString());%0A        %0A        return builder.toString();%0A    %7D%0A%0A%7D%0A

Add RsvTask to represent tasks reserved by the user