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
|
package design.controller.userinput.menus;
import design.controller.userinput.Menu;
import design.controller.userinput.MenuOption;
import design.model.course_search.SortByDifficulty;
import design.model.course_search.SortByHoles;
import design.model.course_search.SortByLocation;
import design.model.course_search.SortByPar;
import java.util.List;
import java.util.Scanner;
public class SearchMenu extends Menu {
@Override
public String getTitle() {
return "search menu";
}
@Override
public List<MenuOption> getMenuOptions() {
return List.of(
new MenuOption("return to main menu", (a) -> new MainMenu().present()),
new MenuOption("search...", (a) -> {
System.out.print("Enter search term (blank for all): ");
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
new SelectCourse().search(new String[]{input});
}),
new MenuOption("add difficulty filter...", (a) -> new FiltersMenu().addFilter(new SortByDifficulty())),
new MenuOption("add hole count filter...", (a) -> new FiltersMenu().addFilter(new SortByHoles())),
new MenuOption("add location filter...", (a) -> new FiltersMenu().addFilter(new SortByLocation())),
new MenuOption("add par filter...", (a) -> new FiltersMenu().addFilter(new SortByPar())),
new MenuOption("list filters", (a) -> new FiltersMenu().present()),
new MenuOption("clear all filters", (a) -> new FiltersMenu().clearFilters())
);
}
}
|