forked from AY1920S1-CS2103T-W11-1/main
/
Command.java
45 lines (40 loc) · 1.32 KB
/
Command.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package seedu.algobase.logic.commands;
import seedu.algobase.logic.commands.exceptions.CommandException;
import seedu.algobase.model.Model;
/**
* Represents a command with hidden internal logic and the ability to be executed.
*/
public abstract class Command {
public static final Class[] COMMAND_LIST = {
AddCommand.class,
AddPlanCommand.class,
AddTagCommand.class,
ClearCommand.class,
DeleteCommand.class,
DeletePlanCommand.class,
DeleteTagCommand.class,
DeleteTaskCommand.class,
DoneTaskCommand.class,
EditCommand.class,
EditPlanCommand.class,
EditTagCommand.class,
ExitCommand.class,
FindCommand.class,
FindPlanCommand.class,
HelpCommand.class,
ListCommand.class,
ListPlanCommand.class,
ListTagCommand.class,
SortCommand.class,
SwitchCommand.class,
UndoneTaskCommand.class
};
/**
* Executes the command and returns the result message.
*
* @param model {@code Model} which the command should operate on.
* @return feedback message of the operation result for display
* @throws CommandException If an error occurs during command execution.
*/
public abstract CommandResult execute(Model model) throws CommandException;
}