## Uses of Class
net.sf.cpsolver.exam.model.ExamPeriod

- Packages that use ExamPeriod
  Package | Description
  --- | ---
  net.sf.cpsolver.exam.model | Examination Timetabling: Model.

- - ### Uses of ExamPeriod in net.sf.cpsolver.exam.model

    Methods in net.sf.cpsolver.exam.model that return ExamPeriod
    Modifier and Type | Method and Description
    --- | ---
    `ExamPeriod` | ExamModel.`addPeriod(Long id, String day, String time, int length, int penalty)` Add a period
    `ExamPeriod` | ExamPeriodPlacement.`getPeriod()` Examination period
    `ExamPeriod` | ExamPlacement.`getPeriod()` Assigned period
    `ExamPeriod` | ExamModel.`getPeriod(Long id)` Period of given unique id
    `ExamPeriod` | ExamPeriod.`next()` Next period
    `ExamPeriod` | ExamPeriod.`prev()` Previous period

    Methods in net.sf.cpsolver.exam.model that return types with arguments of type ExamPeriod
    Modifier and Type | Method and Description
    --- | ---
    `List<ExamPeriod>` | ExamModel.`getPeriods()` List of periods, use `ExamModel.addPeriod(Long, String, String, int, int)` to add a period

    Methods in net.sf.cpsolver.exam.model with parameters of type ExamPeriod
    Modifier and Type | Method and Description
    --- | ---
    `void` | Exam.`allowAllStudentConflicts(ExamPeriod period)` Allow all direct student conflict for the given period (see `ExamStudent.canConflict(Exam, Exam)`).
    `int` | ExamPeriod.`compareTo(ExamPeriod p)`
    `Set<Exam>` | ExamInstructor.`getExams(ExamPeriod period)` Exam(s) enrolled by the instructor that are scheduled in the given period
    `Set<Exam>` | ExamStudent.`getExams(ExamPeriod period)` Exam(s) enrolled by the student that are scheduled in the given period
    `Set<Exam>` | ExamInstructor.`getExamsADay(ExamPeriod period)` Exam(s) enrolled by the instructor that are scheduled in the given day
    `Set<Exam>` | ExamStudent.`getExamsADay(ExamPeriod period)` Exam(s) enrolled by the student that are scheduled in the given day
    `int` | ExamRoom.`getPenalty(ExamPeriod period)` Return room penalty for given period
    `int` | ExamRoomPlacement.`getPenalty(ExamPeriod period)` Penalty for assignment of an exam into this room `Exam.getRoomPlacements()` and the given examination period
    `ExamPeriodPlacement` | Exam.`getPeriodPlacement(ExamPeriod period)` Returns appropriate `ExamPeriodPlacement` for the given period, if it is available for this exam, null otherwise.
    `ExamPlacement` | ExamRoom.`getPlacement(ExamPeriod period)` Deprecated. If room sharing is allowed, this method only returns first exam. Use `ExamRoom.getPlacements(ExamPeriod)` instead.
    `List<ExamPlacement>` | ExamRoom.`getPlacements(ExamPeriod period)` Exams placed at the given period
    `HashSet<Exam>` | Exam.`getStudentConflicts(ExamPeriod period)` List of exams that are assigned to the given period and share one or more students with this exam (that does not have direct conflicts allowed, see `ExamStudent.canConflict(Exam, Exam)`).
    `boolean` | Exam.`hasStudentConflictWithPreAssigned(ExamPeriod period)` True, if there is a student of this exam (that does not have direct conflicts allowed, see `ExamStudent.canConflict(Exam, Exam)`) that attends some other exam in the given period.
    `boolean` | ExamInstructor.`isAvailable(ExamPeriod period)` True if the student is available (for examination timetabling) during the given period
    `boolean` | ExamRoom.`isAvailable(ExamPeriod period)` True if the room is available (for examination timetabling) during the given period
    `boolean` | ExamRoomPlacement.`isAvailable(ExamPeriod period)` Examination room availability
    `boolean` | ExamStudent.`isAvailable(ExamPeriod period)` True if the student is available (for examination timetabling) during the given period
    `void` | ExamRoom.`setAvailable(ExamPeriod period, boolean available)` Set whether the room is available (for examination timetabling) during the given period
    `void` | ExamPeriod.`setNext(ExamPeriod next)` Set next period (only to be used by `ExamModel.addPeriod(Long, String, String, int, int)`)
    `void` | ExamRoom.`setPenalty(ExamPeriod period, int penalty)` Set room penalty for given period
    `void` | ExamPeriod.`setPrev(ExamPeriod prev)` Set previous period (only to be used by `ExamModel.addPeriod(Long, String, String, int, int)`)

    Constructors in net.sf.cpsolver.exam.model with parameters of type ExamPeriod
    Constructor and Description
    `ExamPeriodPlacement(ExamPeriod period, int penalty)` Constructor