From e21be3aea31959219aafc4e28d983bafa95cde0a Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Mon, 6 Oct 2025 10:25:23 -0400 Subject: moved some menu logic over to the search subystem, added a new query class --- .../model/course_search/CurrentSearchQuery.java | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/main/java/design/model/course_search/CurrentSearchQuery.java (limited to 'src/main/java/design/model/course_search/CurrentSearchQuery.java') diff --git a/src/main/java/design/model/course_search/CurrentSearchQuery.java b/src/main/java/design/model/course_search/CurrentSearchQuery.java new file mode 100644 index 0000000..45364f4 --- /dev/null +++ b/src/main/java/design/model/course_search/CurrentSearchQuery.java @@ -0,0 +1,63 @@ +package design.model.course_search; + +import java.util.ArrayList; +import java.util.List; + +import design.persistence.MasterDatabase; + +/* + * Represents the state of our current search. + */ +public class CurrentSearchQuery { + public static final CurrentSearchQuery INSTANCE = new CurrentSearchQuery(); + + + private CourseList query; + MasterDatabase db = MasterDatabase.INSTANCE; + private final List filters = new ArrayList(); + + public void initialize() + { + query = db.getCourseList(); + } + + public void addFilter(CourseSorter filter) + { + filters.add(filter); + } + + public void clearFilters() + { + filters.clear(); + } + + public String printFilters() + { + String filterResult = ""; + + if(filters.size() == 0) + { + return "nothing"; + } + + for( CourseSorter f : filters) + { + filterResult += f.toString() + " --> "; + } + + filterResult = filterResult.substring(0, filterResult.length() - 5); + filterResult += "\n"; + + return filterResult; + } + + public List getFilters() + { + return filters; + } + + public CourseList getQueryResult() + { + return query; + } +} -- cgit v1.2.3