package schedule;

import database.Course;
import java.util.concurrent.TimeUnit;

/**
 * TimeProximity is a schedule constraint that prioritizes certain courses lab
 * and lecture times to being closer together. A lecture and lab are the courses
 * that should be no more than difference minutes apart.
 *
 * TimeProximity is explained in Section 2.6.2 of the requirements.
 * @author vforney
 */
public abstract class TimeProximity extends ScheduleConstraint {
  /**
   * The course that represents the lecture part of the lecture-lab pair.
   */
  Course lecture;
  /**
   * The course that represents the lab part of the lecture-lab pair.
   */
  Course lab;
  /**
   * The maximum difference, in minutes, between the given lecture and lab
   * course.
   */
  TimeUnit difference;
}