@@ -0,0 +1,729 @@
+package seedu.address.logic.commands;%0A%0Aimport seedu.address.commons.exceptions.IllegalValueException;%0Aimport seedu.address.logic.commands.exceptions.CommandException;%0A%0A/**%0A * Represents a command with hidden internal logic and the ability to be executed.%0A */%0Apublic abstract class UndoCommand extends Command %7B%0A%0A        public static final String UNDO_COMMAND_WORD = %22undo%22;%0A%0A        public static final String MESSAGE_UNDO_TASK_SUCCESS = %22Undo last command%22;%0A        %0A        public static final String MESSAGE_UNDO_TASK_NOT_SUCCESS = %22No command to undo%22;%0A%0A%0A        public abstract CommandResult executeUndo() throws CommandException;%0A        %0A        public abstract Command getUndoCommand() throws IllegalValueException;%0A%0A%7D%0A%0A

add Undo Commands