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.List; public class ManageCourses extends Menu { private final Golfer golfer = Session.getCurrentGolfer(); @Override public String getTitle() { return "manage courses"; } @Override public List getMenuOptions() { List 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...", () -> { var selector = new SelectCourse(); selector.present(); golfer.removeCourse(selector.getResult()); this.present(); })); opts.add(new MenuOption("add course...", () -> new SearchMenu().present())); return opts; } }