summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller/userinput/Menu.java
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-10-05 14:06:20 -0400
committersowgro <tpoke.ferrari@gmail.com>2025-10-05 14:06:20 -0400
commit75ef9ca83d43051616c0083af85eacbd71b4b4b6 (patch)
treeb93f11c54becbd8868959ec197c37180a4a94974 /src/main/java/design/controller/userinput/Menu.java
parentd97f1a846bb872db8a0954c2214fb0a757542e8b (diff)
downloaddesignproject-design-6-75ef9ca83d43051616c0083af85eacbd71b4b4b6.tar.gz
designproject-design-6-75ef9ca83d43051616c0083af85eacbd71b4b4b6.tar.bz2
designproject-design-6-75ef9ca83d43051616c0083af85eacbd71b4b4b6.zip
Reorganize menu api
Diffstat (limited to '')
-rw-r--r--src/main/java/design/controller/userinput/Menu.java34
1 files changed, 5 insertions, 29 deletions
diff --git a/src/main/java/design/controller/userinput/Menu.java b/src/main/java/design/controller/userinput/Menu.java
index 407d2ca..7677793 100644
--- a/src/main/java/design/controller/userinput/Menu.java
+++ b/src/main/java/design/controller/userinput/Menu.java
@@ -2,38 +2,14 @@ package design.controller.userinput;
import java.util.*;
-public class Menu {
- private final String title;
- private final List<MenuOption> menuOptions;
+public abstract class Menu {
+ public abstract String getTitle();
- public Menu(String title, List<MenuOption> menuOptions) {
- this.title = title;
- this.menuOptions = menuOptions;
- }
-
- public Menu(String title) {
- this.title = title;
- this.menuOptions = new ArrayList<>();
- }
-
- public boolean remove(MenuOption menuOption) {
- return menuOptions.remove(menuOption);
- }
-
- public boolean addAll(List<MenuOption> c) {
- return menuOptions.addAll(c);
- }
-
- public boolean addAll(MenuOption... c) {
- return addAll(Arrays.stream(c).toList());
- }
-
- public boolean add(MenuOption menuOption) {
- return menuOptions.add(menuOption);
- }
+ public abstract List<MenuOption> getMenuOptions();
public void present() {
- System.out.printf("-- %s --\n", title.toUpperCase());
+ var menuOptions = getMenuOptions();
+ System.out.printf("-- %s --\n", getTitle().toUpperCase());
for (int i = 0; i < menuOptions.size(); i++) {
MenuOption menuOption = menuOptions.get(i);
System.out.printf("%s: %s\n", i, menuOption.getName());