## Uses of Class
net.sf.cpsolver.studentsct.model.Student

- Packages that use Student
  Package | Description
  --- | ---
  net.sf.cpsolver.studentsct | Student Sectioning Solver.
  net.sf.cpsolver.studentsct.constraint | Student Sectioning: Constraints.
  net.sf.cpsolver.studentsct.extension | Student Sectioning: Various Extensions.
  net.sf.cpsolver.studentsct.filter | Various student filters.
  net.sf.cpsolver.studentsct.heuristics.selection | Student Sectioning: Various Neighbour Selection Criteria.
  net.sf.cpsolver.studentsct.heuristics.studentord | Online Student Sectioning Test: various students orderings
  net.sf.cpsolver.studentsct.model | Student Sectioning: Model.
  net.sf.cpsolver.studentsct.reservation | Student Sectioning: Reservations.

- - ### Uses of Student in net.sf.cpsolver.studentsct

    Methods in net.sf.cpsolver.studentsct that return Student
    Modifier and Type | Method and Description
    --- | ---
    `Student` | StudentSctBBTest.`getStudent()` Return the given student
    `protected Student` | StudentSectioningXMLLoader.`loadStudent(Element studentEl)` Load student

    Methods in net.sf.cpsolver.studentsct that return types with arguments of type Student
    Modifier and Type | Method and Description
    --- | ---
    `Set<Student>` | StudentSectioningModel.`getCompleteStudents()` Students with complete schedules (see `isComplete()`)
    `List<Student>` | StudentSectioningModel.`getStudents()` Students

    Methods in net.sf.cpsolver.studentsct with parameters of type Student
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | Test.ExtraStudentFilter.`accept(Student student)`
    `void` | StudentSectioningModel.`addStudent(Student student)` Add a student into the model
    `CourseRequest` | StudentSectioningXMLLoader.`loadCourseRequest(Element requestEl, Student student, Map<Long,Offering> offeringTable, Map<Long,Course> courseTable)` Load course request
    `FreeTimeRequest` | StudentSectioningXMLLoader.`loadFreeTime(Element requestEl, Student student)` Load free time request
    `protected Request` | StudentSectioningXMLLoader.`loadRequest(Element requestEl, Student student, Map<Long,Offering> offeringTable, Map<Long,Course> courseTable)` Load request
    `void` | StudentSectioningModel.`removeStudent(Student student)` Remove a student from the model
    `protected void` | StudentSectioningXMLSaver.`saveStudent(Element studentEl, Student student)` Save student
    `static void` | StudentPreferencePenalties.`setPenalties(Student student, int distributionType)` Set the computed penalties to all sections of all requests of the given student

    Constructors in net.sf.cpsolver.studentsct with parameters of type Student
    Constructor and Description
    `StudentSctBBTest(Student student)` Constructor

  - ### Uses of Student in net.sf.cpsolver.studentsct.constraint

    Methods in net.sf.cpsolver.studentsct.constraint that return Student
    Modifier and Type | Method and Description
    --- | ---
    `Student` | LinkedSections.LinkedSectionsConstraint.`getStudent()` Return student

    Constructors in net.sf.cpsolver.studentsct.constraint with parameters of type Student
    Constructor and Description
    `LinkedSectionsConstraint(Student student, Collection<Request> requests)` Constructor
    `StudentConflict(Student student)` Constructor

  - ### Uses of Student in net.sf.cpsolver.studentsct.extension

    Methods in net.sf.cpsolver.studentsct.extension that return Student
    Modifier and Type | Method and Description
    --- | ---
    `Student` | DistanceConflict.Conflict.`getStudent()` Related student
    `Student` | TimeOverlapsCounter.Conflict.`getStudent()` Related student

    Constructors in net.sf.cpsolver.studentsct.extension with parameters of type Student
    Constructor and Description
    `Conflict(Student student, Enrollment e1, Section s1, Enrollment e2, Section s2)` Constructor
    `Conflict(Student student, int share, Enrollment e1, Assignment a1, Enrollment e2, Assignment a2)` Constructor

  - ### Uses of Student in net.sf.cpsolver.studentsct.filter

    Methods in net.sf.cpsolver.studentsct.filter with parameters of type Student
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | CombinedStudentFilter.`accept(Student student)` A student is accepted if it is accepted by the first and/or the second filter
    `boolean` | FreshmanStudentFilter.`accept(Student student)` Accept student.
    `boolean` | RandomStudentFilter.`accept(Student student)` A student is accepted with the given probability
    `boolean` | RealStudentFilter.`accept(Student student)` Accept student.
    `boolean` | ReverseStudentFilter.`accept(Student student)` Accept student.
    `boolean` | StudentFilter.`accept(Student student)` Accept student

  - ### Uses of Student in net.sf.cpsolver.studentsct.heuristics.selection

    Fields in net.sf.cpsolver.studentsct.heuristics.selection declared as Student
    Modifier and Type | Field and Description
    --- | ---
    `protected Student` | BranchBoundSelection.Selection.`iStudent` Student

    Fields in net.sf.cpsolver.studentsct.heuristics.selection with type parameters of type Student
    Modifier and Type | Field and Description
    --- | ---
    `protected List<Student>` | PriorityConstructionSelection.`iStudents`
    `protected Iterator<Student>` | BranchBoundSelection.`iStudentsEnumeration`
    `protected Iterator<Student>` | PriorityConstructionSelection.`iStudentsEnumeration`

    Methods in net.sf.cpsolver.studentsct.heuristics.selection that return Student
    Modifier and Type | Method and Description
    --- | ---
    `Student` | BranchBoundSelection.BranchBoundNeighbour.`getStudent()` Student

    Methods in net.sf.cpsolver.studentsct.heuristics.selection that return types with arguments of type Student
    Modifier and Type | Method and Description
    --- | ---
    `Set<Student>` | ProblemStudentsProvider.`getProblemStudents()` Set of problematic students (`Student` objects).
    `Set<Student>` | SwapStudentSelection.`getProblemStudents()` List of problematic students
    `Set<Student>` | SwapStudentSelection.Selection.`getProblemStudents()` Set of problematic students computed in the last selection

    Methods in net.sf.cpsolver.studentsct.heuristics.selection with parameters of type Student
    Modifier and Type | Method and Description
    --- | ---
    `BranchBoundSelection.Selection` | BranchBoundSelection.`getSelection(Student student)` Branch & bound selection for a student
    `BranchBoundSelection.Selection` | OnlineSelection.`getSelection(Student student)` Branch & bound selection for a student
    `SwapStudentSelection.Selection` | SwapStudentSelection.`getSelection(Student student)` Selection subclass for a student
    `void` | OnlineSelection.`updateSpace(Student student)` Update online sectioning info after the given student is sectioned

    Method parameters in net.sf.cpsolver.studentsct.heuristics.selection with type arguments of type Student
    Modifier and Type | Method and Description
    --- | ---
    `static Enrollment` | SwapStudentSelection.`bestSwap(Enrollment conflict, Enrollment enrl, Set<Student> problematicStudents)` Identify the best swap for the given student

    Constructors in net.sf.cpsolver.studentsct.heuristics.selection with parameters of type Student
    Constructor and Description
    `BranchBoundNeighbour(Student student, double value, Enrollment[] assignment)` Constructor
    `EpsilonSelection(Student student, BranchBoundSelection.Selection selection)` Constructor
    `Selection(Student student)` Constructor
    `Selection(Student student)` Constructor
    `UnassignStudentNeighbour(Student student)` Constructor

  - ### Uses of Student in net.sf.cpsolver.studentsct.heuristics.studentord

    Methods in net.sf.cpsolver.studentsct.heuristics.studentord that return types with arguments of type Student
    Modifier and Type | Method and Description
    --- | ---
    `List<Student>` | StudentChoiceOrder.`order(List<Student> students)` Order the given list of students
    `List<Student>` | StudentMajorOrder.`order(List<Student> students)` Order the given list of students
    `List<Student>` | StudentOrder.`order(List<Student> students)` Return the given set of students in a particular order
    `List<Student>` | StudentRandomOrder.`order(List<Student> students)` Return the given set of students in a random order
    `List<Student>` | StudentRandomRealFirstOrder.`order(List<Student> students)` Return the given set of students in a random order, however, all real students before last-like (`isDummy()` is true) students.

    Methods in net.sf.cpsolver.studentsct.heuristics.studentord with parameters of type Student
    Modifier and Type | Method and Description
    --- | ---
    `double` | StudentChoiceOrder.`avgNrChoices(Student student)` Average number of choices for each student
    `int` | StudentChoiceOrder.`compare(Student s1, Student s2)`
    `int` | StudentChoiceRealFirstOrder.`compare(Student s1, Student s2)`
    `int` | StudentMajorOrder.`compare(Student s1, Student s2)`

    Method parameters in net.sf.cpsolver.studentsct.heuristics.studentord with type arguments of type Student
    Modifier and Type | Method and Description
    --- | ---
    `List<Student>` | StudentChoiceOrder.`order(List<Student> students)` Order the given list of students
    `List<Student>` | StudentMajorOrder.`order(List<Student> students)` Order the given list of students
    `List<Student>` | StudentOrder.`order(List<Student> students)` Return the given set of students in a particular order
    `List<Student>` | StudentRandomOrder.`order(List<Student> students)` Return the given set of students in a random order
    `List<Student>` | StudentRandomRealFirstOrder.`order(List<Student> students)` Return the given set of students in a random order, however, all real students before last-like (`isDummy()` is true) students.

  - ### Uses of Student in net.sf.cpsolver.studentsct.model

    Methods in net.sf.cpsolver.studentsct.model that return Student
    Modifier and Type | Method and Description
    --- | ---
    `Student` | Enrollment.`getStudent()` Student
    `Student` | Request.`getStudent()` Student to which this request belongs

    Methods in net.sf.cpsolver.studentsct.model with parameters of type Student
    Modifier and Type | Method and Description
    --- | ---
    `int` | Student.`compareTo(Student s)`
    `Course` | Offering.`getCourse(Student student)` Return course, under which the given student enrolls into this offering.

    Constructors in net.sf.cpsolver.studentsct.model with parameters of type Student
    Constructor and Description
    `CourseRequest(long id, int priority, boolean alternative, Student student, List<Course> courses, boolean waitlist, Long timeStamp)` Constructor
    `FreeTimeRequest(long id, int priority, boolean alternative, Student student, TimeLocation time)` Constructor
    `Request(long id, int priority, boolean alternative, Student student)` Constructor

  - ### Uses of Student in net.sf.cpsolver.studentsct.reservation

    Methods in net.sf.cpsolver.studentsct.reservation with parameters of type Student
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | CourseReservation.`isApplicable(Student student)` Check the area, classifications and majors
    `boolean` | CurriculumReservation.`isApplicable(Student student)` Check the area, classifications and majors
    `boolean` | DummyReservation.`isApplicable(Student student)` Dummy reservation is not applicable to any students
    `boolean` | IndividualReservation.`isApplicable(Student student)` Reservation is applicable for all students in the reservation
    `abstract boolean` | Reservation.`isApplicable(Student student)` Returns true if the student is applicable for the reservation