summaryrefslogtreecommitdiff
path: root/src/model/course-search/CourseList.java
diff options
context:
space:
mode:
authorWillemDalton <willemhdalton@gmail.com>2025-09-29 18:26:42 -0400
committerWillemDalton <willemhdalton@gmail.com>2025-09-29 18:26:42 -0400
commitc9dbbbf82277036d15a180b0e8609b6dfccb50bd (patch)
tree9ee83ef490a54676c2d852a9f995241b6a2bd8f2 /src/model/course-search/CourseList.java
parente085ca1bf0b5dd58d8a10d27b009a9f1dd384846 (diff)
downloaddesignproject-design-6-c9dbbbf82277036d15a180b0e8609b6dfccb50bd.tar.gz
designproject-design-6-c9dbbbf82277036d15a180b0e8609b6dfccb50bd.tar.bz2
designproject-design-6-c9dbbbf82277036d15a180b0e8609b6dfccb50bd.zip
progress on implementing strategy pattern
Diffstat (limited to '')
-rw-r--r--src/model/course-search/CourseList.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/model/course-search/CourseList.java b/src/model/course-search/CourseList.java
new file mode 100644
index 0000000..2766e11
--- /dev/null
+++ b/src/model/course-search/CourseList.java
@@ -0,0 +1,51 @@
+package design.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import Course;
+
+/*
+ * Defines a list of courses that can be sorted, added to or removed from.
+ * Created by Willem Dalton
+ */
+public class CourseList {
+ private CourseSorter sorter;
+ private List<Course> courses;
+
+ public CourseList()
+ {
+ courses = new ArrayList<>();
+ sorter = new CourseSorter();
+ }
+
+ public List<Course> getCourses()
+ {
+ return courses;
+ }
+
+ public setCourses(List<Course> courses)
+ {
+ this.courses = courses;
+ }
+
+ setSorter(CourseSorter courseSorter)
+ {
+ sorter = courseSorter;
+ }
+
+ add(Course course)
+ {
+ courses.add(course);
+ }
+
+ remove(Course course)
+ {
+ courses.remove(course);
+ }
+
+ sort()
+ {
+ sorter.sortCourses(courses);
+ }
+}