summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/design/Main.java10
-rw-r--r--src/main/java/design/controller/userinput/Action.java5
-rw-r--r--src/main/java/design/controller/userinput/CommandOption.java19
-rw-r--r--src/main/java/design/controller/userinput/ParPalCLI.java28
4 files changed, 62 insertions, 0 deletions
diff --git a/src/main/java/design/Main.java b/src/main/java/design/Main.java
new file mode 100644
index 0000000..43a8eb6
--- /dev/null
+++ b/src/main/java/design/Main.java
@@ -0,0 +1,10 @@
+package design;
+
+import design.controller.userinput.ParPalCLI;
+
+public class Main {
+ public static void main(String[] args) {
+ var cli = new ParPalCLI();
+ cli.start(args);
+ }
+}
diff --git a/src/main/java/design/controller/userinput/Action.java b/src/main/java/design/controller/userinput/Action.java
new file mode 100644
index 0000000..0569c48
--- /dev/null
+++ b/src/main/java/design/controller/userinput/Action.java
@@ -0,0 +1,5 @@
+package design.controller.userinput;
+
+public interface Action {
+ void onCommand(String[] args);
+}
diff --git a/src/main/java/design/controller/userinput/CommandOption.java b/src/main/java/design/controller/userinput/CommandOption.java
new file mode 100644
index 0000000..31b63d4
--- /dev/null
+++ b/src/main/java/design/controller/userinput/CommandOption.java
@@ -0,0 +1,19 @@
+package design.controller.userinput;
+
+public class CommandOption {
+ Action action;
+ String name;
+
+ public CommandOption(Action action, String name) {
+ this.action = action;
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void onCommand(String[] args) {
+ action.onCommand(args);
+ }
+}
diff --git a/src/main/java/design/controller/userinput/ParPalCLI.java b/src/main/java/design/controller/userinput/ParPalCLI.java
new file mode 100644
index 0000000..7707754
--- /dev/null
+++ b/src/main/java/design/controller/userinput/ParPalCLI.java
@@ -0,0 +1,28 @@
+package design.controller.userinput;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Scanner;
+
+public class ParPalCLI {
+
+ public void start(String[] args) {
+
+ }
+
+ public void promptUser(List<CommandOption> commandOptions) {
+ for (int i = 0; i < commandOptions.size(); i++) {
+ CommandOption commandOption = commandOptions.get(i);
+ System.out.printf("%s: %s\n", i, commandOption.getName());
+ }
+ Scanner sc = new Scanner(System.in);
+ var line = sc.nextLine().split(" ");
+
+ if (line.length > 0) {
+ int i = Integer.parseInt(line[0]);
+
+ commandOptions.get(i).onCommand(Arrays.copyOfRange(line, 1, line.length));
+ }
+ }
+}