-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApp.java
More file actions
61 lines (55 loc) · 2.1 KB
/
App.java
File metadata and controls
61 lines (55 loc) · 2.1 KB
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import java.io.File;
import java.util.Scanner;
import CommandLanguage.CommandLanguage;
import CommandLanguage.CommandLanguage.Command;
import TaskManager.TaskManager;
public class App {
public static void main(String[] args) {
TaskManager taskManager = new TaskManager();
Scanner stdIn = new Scanner(System.in);
String command;
String[] parts;
Command potentialCommand;
File filename = new File("data.ser");
CommandLanguage.setTaskManager(taskManager);
if (filename.exists()) {
CommandLanguage.evaluate(Command.load);
}
while (true) {
System.out.print("Enter a command: ");
parts = stdIn.nextLine().trim().split("\\s+", 2);
command = parts[0];
try {
potentialCommand = Command.valueOf(command.toLowerCase());
} catch (IllegalArgumentException e) {
potentialCommand = Command._unknown;
}
switch (potentialCommand) {
case Command.quit:
CommandLanguage.evaluate(Command.quit, stdIn);
break;
case Command.add:
CommandLanguage.evaluate(Command.add, parts[1]);
break;
case Command.edit:
CommandLanguage.evaluate(Command.edit, parts[1]);
break;
case Command.remove:
CommandLanguage.evaluate(Command.remove, parts[1]);
break;
case Command.save:
CommandLanguage.evaluate(Command.save);
break;
case Command.load:
CommandLanguage.evaluate(Command.load);
break;
case Command.display:
CommandLanguage.evaluate(Command.display);
break;
default:
CommandLanguage.evaluate(Command._unknown);
break;
}
}
}
}