package schedule; import java.util.Map; import database.Course; import schedule.DayPattern; /** * An InstructorPreference holds all information regarding what classes * this instructor wants to or is qualified to teach, and at what times * the teaches prefer to teach. */ abstract class InstructorPreference { /** * The days of the week this teacher wants to teach on */ Map dayPatterns; /** * The courses that this teacher wants to teach. */ Map courses; /** * Sets the rating for a course. * @param course The course. * @param rating The rating for this course. */ /*@ requires course != null; ensures courses.get(course) == rating; @*/ abstract void setRatingForCourse(Course course, int rating); /** * Sets the rating for a day and time. * @param dayPattern The day pattern. * @param rating The rating. */ /*@ requires dayPattern != null; ensures dayPatterns.get(dayPattern) == rating; @*/ abstract void setRatingForDayAndTime(DayPattern dayPattern, int rating); }