## Uses of Class
org.cpsolver.instructor.model.Instructor

- Packages that use Instructor
  Package | Description
  --- | ---
  org.cpsolver.instructor.constraints | Instructor Scheduling: Constraints.
  org.cpsolver.instructor.criteria | Instructor Scheduling: Criteria.
  org.cpsolver.instructor.model | Instructor Scheduling: Model.
  org.cpsolver.instructor.test | Instructor Scheduling: Tests.

- - ### Uses of Instructor in org.cpsolver.instructor.constraints

    Methods in org.cpsolver.instructor.constraints with parameters of type Instructor
    Modifier and Type | Method and Description
    --- | ---
    `protected static List<GroupConstraint.Block>` | GroupConstraint.`getBlocks(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, int dayCode, Set<TeachingAssignment> conflicts, TeachingRequest.Variable variable, TeachingAssignment value, BitSet week, int maxBreakBetweenBTB)` Return blocks for an instructor, meeting the provided parameters.
    `protected static Set<org.cpsolver.instructor.constraints.GroupConstraint.TeachingAssignmentSection>` | GroupConstraint.`getRelevantPlacements(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, int dayCode, Set<TeachingAssignment> conflicts, TeachingRequest.Variable variable, TeachingAssignment value, BitSet week)` Return teaching assignment + section combinations for the given instructor, considering the selected value and the provided conflicts.
    `double` | GroupConstraint.Check.`getValue(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, TeachingAssignment value)`
    `double` | GroupConstraint.PairCheck.`getValue(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, TeachingAssignment value)`
    `double` | GroupConstraint.ParametrizedConstraintType.`getValue(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, TeachingAssignment value)`
    `double` | GroupConstraint.ConstraintType.`getValue(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, TeachingAssignment value)`
    `abstract boolean` | GroupConstraint.PairCheck.`isSatisfied(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, Section s1, Section s2)`
    `boolean` | GroupConstraint.SimpleCheck.`isSatisfied(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, Section s1, Section s2)`
    `abstract boolean` | GroupConstraint.PairCheck.`isViolated(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, Section s1, Section s2)`
    `boolean` | GroupConstraint.SimpleCheck.`isViolated(GroupConstraint.Distribution distribution, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Instructor instructor, Section s1, Section s2)`

  - ### Uses of Instructor in org.cpsolver.instructor.criteria

    Methods in org.cpsolver.instructor.criteria that return types with arguments of type Instructor
    Modifier and Type | Method and Description
    --- | ---
    `Set<Instructor>` | InstructorSchedulingCriterion.`getAssignedInstructors(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Collection<TeachingRequest.Variable> variables)` Assigned instructors of a sub-problem
    `Set<Instructor>` | InstructorSchedulingCriterion.`getInstructors(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Collection<TeachingRequest.Variable> variables)` Instructor of a sub-problem

  - ### Uses of Instructor in org.cpsolver.instructor.model

    Methods in org.cpsolver.instructor.model that return Instructor
    Modifier and Type | Method and Description
    --- | ---
    `Instructor` | Instructor.Context.`getInstructor()` Instructor
    `Instructor` | TeachingAssignment.`getInstructor()` Assigned instructor

    Methods in org.cpsolver.instructor.model that return types with arguments of type Instructor
    Modifier and Type | Method and Description
    --- | ---
    `Preference<Instructor>` | TeachingRequest.`getInstructorPreference(Instructor instructor)` Return instructor preference for the given instructor
    `List<Preference<Instructor>>` | TeachingRequest.`getInstructorPreferences()` Return instructor preferences for this request
    `List<Instructor>` | InstructorSchedulingModel.`getInstructors()` All instructors

    Methods in org.cpsolver.instructor.model with parameters of type Instructor
    Modifier and Type | Method and Description
    --- | ---
    `void` | InstructorSchedulingModel.`addInstructor(Instructor instructor)` Add instructor
    `PreferenceCombination` | TeachingRequest.`getAttributePreference(Instructor instructor)` Compute attribute preference for the given instructor
    `int` | TeachingRequest.`getAttributePreference(Instructor instructor, Attribute.Type type)` Compute attribute preference for the given instructor and attribute type
    `Preference<Instructor>` | TeachingRequest.`getInstructorPreference(Instructor instructor)` Return instructor preference for the given instructor

    Method parameters in org.cpsolver.instructor.model with type arguments of type Instructor
    Modifier and Type | Method and Description
    --- | ---
    `void` | TeachingRequest.`addInstructorPreference(Preference<Instructor> pref)` Add instructor preference

    Constructors in org.cpsolver.instructor.model with parameters of type Instructor
    Constructor and Description
    `TeachingAssignment(TeachingRequest.Variable variable, Instructor instructor)` Constructor
    `TeachingAssignment(TeachingRequest.Variable variable, Instructor instructor, int attributePreference)` Constructor

  - ### Uses of Instructor in org.cpsolver.instructor.test

    Methods in org.cpsolver.instructor.test with parameters of type Instructor
    Modifier and Type | Method and Description
    --- | ---
    `String` | ChmTest.`getAttributes(Instructor instructor, String type)`
    `String` | ChmTest.`getAttributes(TeachingRequest req, Instructor instructor, String type)`
    `String` | ChmTest.`getCoursePreference(TeachingRequest req, Instructor instructor)`
    `String` | ChmTest.`getCoursePrefs(Instructor instructor)`
    `String` | MathTest.`getLevel(Instructor instructor)`
    `String` | MathTest.`toString(Instructor instructor)`