package instructor; import java.util.Collection; enum WeekDay {Monday, Tuesday, Wednesday, Thursday, Friday} /** * This class contains the objects necessary for Instructor Time Preferences * @author celind */ abstract class TimePreferences { public Instructor instructor; public Collection timeAvailability; public String quickAdd; /** * Adds TimeBlock to temporary editing time preferences */ /*@ requires // // The given TimeBlock is valid // (timeBlock != null && timeBlock.isValid()); ensures // // The given TimeBlock is inputted into the timeAvailability // (\forall TimeBlock tb; timeAvailability.contains(tb)); @*/ public abstract TimeBlock add(TimeBlock timeBlock); /** * Adds TimeBlock to timeAvailability */ /*@ requires // // The given TimeBlock is valid and is in timeAvailability // (timeBlock != null && timeBlock.isValid() && timeAvailability.contains(timeBlock)); ensures // // The given TimeBlock is inputted into timeAvailability // and is updated to the new TimeBlock // (\forall TimeBlock tb; timeAvailability.contains(tb)); @*/ public abstract TimeBlock update(TimeBlock timeBlock); /** * Removes the specified TimeBlock from the temporary editing time preferences */ /*@ requires // // The given TimeBlock is valid and is in timeAvailability // (timeBlock != null && timeBlock.isValid() && timeAvailability.contains(timeBlock)); ensures // // The given TimeBlock is removed from timeAvailability // (timeAvailability.contains(timeBlock) == false); @*/ public abstract TimeBlock delete(TimeBlock timeBlock); /** * Saves time preferences to database, redirects to Course Preferences */ /*@ requires // // The inputted data from the user is valid // (\forall TimeBlock tb; timeAvailability.contains(tb)); ensures // // The given time preferences are saved to database. // (\forall TimeBlock tb; timeAvailability.contains(tb)); @*/ public abstract void next(); }