package schedule; import java.util.Collection; import java.util.Date; import database.Course; import database.Room; import database.Instructor; /** * A course that was generated by a schedule. * @author jmiran03 */ public abstract class ScheduleCourse { /** * The possible Departments that a schedule can be. */ public enum Department { CSC, CPE, SE }; /** * The department. */ Department department; /** * The colist department. */ Department colistDepartment; /** * The course. */ Course course; /** * The section. */ int section; /** * The class number. */ int classNumber; /** * The room this course is located in. */ Room room; /** * The days this course will be taught. */ DayPattern dayPattern; /** * The time this course begins. */ Date startTime; /** * The time this course ends. */ Date endTime; /** * The instructor */ Instructor instructor; /** * Sets the department for this course. * @param department The department to set. */ /*@ requires department != null; ensures this.department == department; @*/ abstract void setDepartment(Department department); /** * Sets the colist department for this course. * @param department The department to set. */ /*@ requires department != null; ensures this.colistDepartment == department; @*/ abstract void setColistDepartment(Department department); /** * Sets the section. * @param section The section. */ /*@ ensures this.section == section; @*/ abstract void setSection(int section); /** * Sets the room. * @param room The room. */ /*@ requires room != null; ensures this.room == room; @*/ abstract void setRoom(Room room); /** * Sets the DayPattern. * @param dayPattern The day pattern. */ /*@ requires dayPattern != null; ensures this.dayPattern == dayPattern; @*/ abstract void setDayPattern(DayPattern dayPattern); /** * Sets the start time. * @param startTime The start time. */ /*@ requires startTime != null; ensures this.startTime == startTime; @*/ abstract void setStartTime(Date startTime); /** * Sets the end time. * @param endTime The end time. */ /*@ requires endTime != null; ensures this.endTime == endTime; @*/ abstract void setEndTime(Date endTime); /** * Sets the instructor. * @param instructor The instructor. */ /*@ requires instructor != null; ensures this.instructor == instructor; @*/ abstract void setInstructor(Instructor instructor); }