package admin; /** * This class contains all of the global constraints of the schedule as defined * by the schedule administrator. This includes the start and end times for * classes for each day, the days of the week in which classes can be * scheduled, and blackout times for the schedule. * * @author rmcgover * */ public abstract class GlobalConstraints { Time startTime; Time endTime; boolean selectedDays[]; BlackoutTimeDB blackoutTimeDB; int maxProximity; DayPatternDB dayPatternDB; /** * This method sets that earliest start time for classes. * * @param startTime * The earliest time that classes can start. */ abstract void setStartTime(Time startTime); /** * This method sets the latest end time for classes. * * @param endTime * The latest time that classes can end. */ abstract void setEndTime(Time endTime); /** * This method sets which days are available to be scheduled on. * * @param day * The day of the week that was selected. * @param available * The boolean of whether or not the day is available. */ abstract void setDayAvailability(DayOfWeek day, boolean available); /** * This method set the maximum proximity allowed between a lecture and a lab. * * @param distance * The max distance allowed between a lecture and a lab. * * * pre: // // The distance should be greater than zero. // distance > 0; */ abstract void setMaxProximity(int distance); }