diff options
| author | sowgro <tpoke.ferrari@gmail.com> | 2025-10-09 21:03:25 -0400 |
|---|---|---|
| committer | sowgro <tpoke.ferrari@gmail.com> | 2025-10-09 21:03:25 -0400 |
| commit | 5f1ea0ee335a73edf53939b87218a34e93fe4de9 (patch) | |
| tree | 077878354a1c17dca986a843d9ecfb9f8169e3b2 /src/main/java/design/controller/userinput/menus/ManageCourses.java | |
| parent | 1eca2f8681752ad359e8372780cdf719e2b1747d (diff) | |
| download | designproject-design-6-5f1ea0ee335a73edf53939b87218a34e93fe4de9.tar.gz designproject-design-6-5f1ea0ee335a73edf53939b87218a34e93fe4de9.tar.bz2 designproject-design-6-5f1ea0ee335a73edf53939b87218a34e93fe4de9.zip | |
Menu cleanup - pass 1
Diffstat (limited to '')
| -rw-r--r-- | src/main/java/design/controller/userinput/menus/ManageCourses.java | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/main/java/design/controller/userinput/menus/ManageCourses.java b/src/main/java/design/controller/userinput/menus/ManageCourses.java new file mode 100644 index 0000000..5156a9b --- /dev/null +++ b/src/main/java/design/controller/userinput/menus/ManageCourses.java @@ -0,0 +1,58 @@ +package design.controller.userinput.menus; + +import design.controller.userinput.Menu; +import design.controller.userinput.MenuOption; +import design.model.Course; +import design.model.Golfer; +import design.runtime.Session; + +import java.util.ArrayList; +import java.util.List; + +public class ManageCourses extends Menu { + Golfer golfer = Session.getCurrentGolfer(); + + @Override + public String getTitle() { + return "manage courses"; + } + + @Override + public List<MenuOption> getMenuOptions() { + List<MenuOption> opts = new java.util.ArrayList<>(); + opts.add(new MenuOption("return to main menu", () -> new MainMenu().present())); + + opts.add(new MenuOption("list courses", () -> { + for (Course course : golfer.getCourses()) { + System.out.printf("- %s\n", course); + } + this.present(); + })); + + opts.add(new MenuOption("remove course...", () -> { + new Menu() { + @Override + public String getTitle() { + return "remove course"; + } + + @Override + public List<MenuOption> getMenuOptions() { + List<MenuOption> list = new ArrayList<>(); + for (Course c : golfer.getCourses()) { + MenuOption menuOption = new MenuOption(c.toString(), () -> { + golfer.removeCourse(c); + this.present(); + }); + list.add(menuOption); + } + return list; + } + }.present(); + })); + + opts.add(new MenuOption("add course...", () -> new SearchMenu().present())); + + return opts; + } +} |
