org.cpsolver.exam.model

## Class ExamContext

- java.lang.Object
- - org.cpsolver.exam.model.ExamContext

- All Implemented Interfaces:
    AssignmentConstraintContext<Exam,ExamPlacement>, AssignmentContext

      public class ExamContext
      extends Object
      implements AssignmentConstraintContext<Exam,ExamPlacement>

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExamContext(ExamModel model, Assignment<Exam,ExamPlacement> assignment)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `assigned(Assignment<Exam,ExamPlacement> assignment, ExamPlacement placement)` Called when `ConstraintWithContext.assigned(Assignment, long, Value)` is called to update the content of the context.
    `Map<ExamInstructor,Set<Exam>>` | `getInstructorsOfDay(int day)`
    `Map<ExamInstructor,Set<Exam>>` | `getInstructorsOfPeriod(int period)`
    `Map<ExamStudent,Set<Exam>>` | `getStudentsOfDay(int day)`
    `Map<ExamStudent,Set<Exam>>` | `getStudentsOfPeriod(int period)`
    `void` | `unassigned(Assignment<Exam,ExamPlacement> assignment, ExamPlacement placement)` Called when `ConstraintWithContext.unassigned(Assignment, long, Value)` is called to update the content of the context.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ExamContext

          public ExamContext(ExamModel model,
                             Assignment<Exam,ExamPlacement> assignment)

  - ### Method Detail

    - #### assigned

          public void assigned(Assignment<Exam,ExamPlacement> assignment,
                               ExamPlacement placement)

      Description copied from interface: `AssignmentConstraintContext`
      Called when `ConstraintWithContext.assigned(Assignment, long, Value)` is called to update the content of the context.
      Specified by:
        `assigned` in interface `AssignmentConstraintContext<Exam,ExamPlacement>`
      Parameters:
        `assignment` - current assignment (with which this context is associated)
        `placement` - assigned value

    - #### unassigned

          public void unassigned(Assignment<Exam,ExamPlacement> assignment,
                                 ExamPlacement placement)

      Description copied from interface: `AssignmentConstraintContext`
      Called when `ConstraintWithContext.unassigned(Assignment, long, Value)` is called to update the content of the context.
      Specified by:
        `unassigned` in interface `AssignmentConstraintContext<Exam,ExamPlacement>`
      Parameters:
        `assignment` - current assignment (with which this context is associated)
        `placement` - unassigned value

    - #### getStudentsOfPeriod

          public Map<ExamStudent,Set<Exam>> getStudentsOfPeriod(int period)

    - #### getStudentsOfDay

          public Map<ExamStudent,Set<Exam>> getStudentsOfDay(int day)

    - #### getInstructorsOfPeriod

          public Map<ExamInstructor,Set<Exam>> getInstructorsOfPeriod(int period)

    - #### getInstructorsOfDay

          public Map<ExamInstructor,Set<Exam>> getInstructorsOfDay(int day)