From c9dbbbf82277036d15a180b0e8609b6dfccb50bd Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Mon, 29 Sep 2025 18:26:42 -0400 Subject: progress on implementing strategy pattern --- src/model/course-search/CourseList.java | 51 ++++++++++++++++++++++++++++++++ src/model/course-search/CourseSorter | 5 ++++ src/model/course-search/SortByHoles.java | 10 +++++++ 3 files changed, 66 insertions(+) create mode 100644 src/model/course-search/CourseList.java create mode 100644 src/model/course-search/CourseSorter create mode 100644 src/model/course-search/SortByHoles.java (limited to 'src/model/course-search') 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 courses; + + public CourseList() + { + courses = new ArrayList<>(); + sorter = new CourseSorter(); + } + + public List getCourses() + { + return courses; + } + + public setCourses(List 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); + } +} diff --git a/src/model/course-search/CourseSorter b/src/model/course-search/CourseSorter new file mode 100644 index 0000000..ae2863d --- /dev/null +++ b/src/model/course-search/CourseSorter @@ -0,0 +1,5 @@ +package design.model; + +public interface CourseSorter { + public sortCourses(List courses); +} \ No newline at end of file diff --git a/src/model/course-search/SortByHoles.java b/src/model/course-search/SortByHoles.java new file mode 100644 index 0000000..39e3610 --- /dev/null +++ b/src/model/course-search/SortByHoles.java @@ -0,0 +1,10 @@ +package design.model; + +import CourseSorter; + +public class SortByHoles implements CourseSorter { + sortCourses(List courses) + { + + } +} \ No newline at end of file -- cgit v1.2.3