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; } }