summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller/userinput/menus/SearchMenu.java
blob: 2ca756820429f8c3d927c730a4dbc7ee9c843318 (plain) (blame)
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())
        );
    }
}