package schedule; import java.util.Collection; /** * This object saves the maximum distance between two adjacent courses. * The admin has privileges to set this constraint. * The score integer is used to figure out success metrics of the generated schedule. * It tells how "well" this constraint was met. * <p> * This object is derived from Section 2.4.1.3 of the Functional Requirements. */ abstract class AdminAdjCourseDistConstraint { public int maxDistance; public Collection<Integer> fixedDistances; public int adjCourseScore; /** * This method is called once the admin saves the maximum distance between adjacent * course. */ /*@ requires // // The input distance is not null // (dist != 0); ensures // // A valid distance between adjacent courses is saved // (maxDistance == dist); @*/ public abstract void saveDistance(int dist); }