package scheduler.ScheduleDB; import scheduler.RoomDB.*; import scheduler.InstructorDB.*; import scheduler.CourseDB.*; import scheduler.ScheduleEntry.*; import scheduler.Attributes.*; import java.util.Collection; /** * * The full schedule DB is comprised of the permanent databases, the * specific schedule items (on a quarter basis), the global settings, * and the users database (a collection of user credentials/permissions). * * @author * @version * **/ public class ScheduleDB { /** Default Constructor **/ public ScheduleDB() { } /** Add the given Schedule Entry into the given set of Schedule Entries. **/ protected Schedule addScheduleEntry(Schedule entry, ScheduleEntry sched) { return null; } /** Change the given Schedule Entry ing the given set of Schedule * Entries to the new Instructor / Class combo. The given recor *d must already be in the Schedule Entries which is verified in the pre-condition. **/ protected Schedule changeScheduleEntry(SClass entry, SInstructorName sched, Schedule instr, ScheduleEntry newclass) { return null; } /** Delete the given Schedule Entry from the given set of Schedul *e Entries. The given record must already be in the Schedule Entries which is verified in the pre-condition. **/ protected Schedule deleteScheduleEntry(Schedule entry, ScheduleEntry sched) { return null; } /** The FindScheduleEntry is an operation that is used by the Hand Editin *g scenario to locate the detailed information for a given entr *y when a user clicks the specific entry. Additionally, it can be used * by later search functions or sorting functions if necessary. **/ protected String findScheduleEntry(Schedule entry, ScheduleEntry sched, TemporaryDatabases tdb) { return null; } /** Generate a new set of Schedule Entries based on the inputted * Schedule. The Schedule will consist of all the necessary * Databases, Preferences and Constraints to ensure that an * optimal Schedule is generated. The functions HowGood and * IsBestSchedule ensure that the schedule produced is optimal. **/ protected ScheduleEntry generateSchedule(Schedule sched, TemporaryDatabases tdb) { return null; } protected int howGood(Schedule sched) { return null; } protected boolean isBestSchedule(Schedule sched, TemporaryDatabases tdb) { return null; } protected boolean meetsConstraints(Schedule sched, TemporaryDatabases tdb) { return null; } protected boolean noCourseOverlap(Schedule entry, ScheduleEntry sched, TemporaryDatabases tdb) { return null; } protected boolean noRoomTimeOverlap(Schedule entry, ScheduleEntry sched) { return null; } protected boolean noTeacherOverlap(Schedule entry, ScheduleEntry sched) { return null; } protected PermanentDatabase pdb; protected Schedule sched; protected Settings settings; protected User user; }