## Uses of Class
org.cpsolver.studentsct.model.Subpart

- Packages that use Subpart
  Package | Description
  --- | ---
  org.cpsolver.studentsct | Student Sectioning Solver.
  org.cpsolver.studentsct.constraint | Student Sectioning: Constraints.
  org.cpsolver.studentsct.model | Student Sectioning: Model.
  org.cpsolver.studentsct.online | Online Student Sectioning Solver.
  org.cpsolver.studentsct.online.expectations | Student Sectioning Solver: Over-Expectation Criteria.
  org.cpsolver.studentsct.online.selection | Online Student Sectioning Solver: Selection Weights and Heuristics.
  org.cpsolver.studentsct.reservation | Student Sectioning: Reservations.

- - ### Uses of Subpart in org.cpsolver.studentsct

    Methods in org.cpsolver.studentsct that return Subpart
    Modifier and Type | Method and Description
    --- | ---
    `protected Subpart` | StudentSectioningXMLLoader.`loadSubpart(Element subpartEl, Config config, Map<Long,Subpart> subpartTable, Map<Long,Section> sectionTable, Map<Long,Placement> timetable)` Load subpart

    Methods in org.cpsolver.studentsct with parameters of type Subpart
    Modifier and Type | Method and Description
    --- | ---
    `double` | StudentPreferencePenalties.`getMaxPenalty(Subpart subpart)` Maximal penalty of a subpart
    `double` | StudentPreferencePenalties.`getMinPenalty(Subpart subpart)` Minimal penalty of a subpart
    `protected Section` | StudentSectioningXMLLoader.`loadSection(Element sectionEl, Subpart subpart, Map<Long,Section> sectionTable, Map<Long,Placement> timetable)` Load section
    `protected void` | StudentSectioningXMLSaver.`saveSubpart(Element subpartEl, Subpart subpart)` Save scheduling subpart

    Method parameters in org.cpsolver.studentsct with type arguments of type Subpart
    Modifier and Type | Method and Description
    --- | ---
    `protected Config` | StudentSectioningXMLLoader.`loadConfig(Element configEl, Offering offering, Map<Long,Subpart> subpartTable, Map<Long,Section> sectionTable, Map<Long,Placement> timetable)` Load config
    `protected Subpart` | StudentSectioningXMLLoader.`loadSubpart(Element subpartEl, Config config, Map<Long,Subpart> subpartTable, Map<Long,Section> sectionTable, Map<Long,Placement> timetable)` Load subpart

  - ### Uses of Subpart in org.cpsolver.studentsct.constraint

    Methods in org.cpsolver.studentsct.constraint that return types with arguments of type Subpart
    Modifier and Type | Method and Description
    --- | ---
    `Set<Subpart>` | LinkedSections.`getSubparts(Offering offering)` Return subpart (or subparts) of an offering of this link

    Methods in org.cpsolver.studentsct.constraint with parameters of type Subpart
    Modifier and Type | Method and Description
    --- | ---
    `Set<Section>` | LinkedSections.`getSections(Subpart subpart)` Return section (or sections) of a subpart of this link

  - ### Uses of Subpart in org.cpsolver.studentsct.model

    Methods in org.cpsolver.studentsct.model that return Subpart
    Modifier and Type | Method and Description
    --- | ---
    `Subpart` | Subpart.`getParent()` Parent subpart, if parent-child relation is defined between subparts
    `Subpart` | Section.`getSubpart()` Scheduling subpart to which this section belongs
    `Subpart` | CourseRequest.`getSubpart(long subpartId)` Return subpart of the requested courses with the given id

    Methods in org.cpsolver.studentsct.model that return types with arguments of type Subpart
    Modifier and Type | Method and Description
    --- | ---
    `List<Subpart>` | Subpart.`getChildren()` Return children subparts
    `List<Subpart>` | Config.`getSubparts()` List of subparts
    `Set<Subpart>` | Offering.`getSubparts(String instructionalType)` Return list of all subparts of the given isntructional type for this offering.

    Methods in org.cpsolver.studentsct.model with parameters of type Subpart
    Modifier and Type | Method and Description
    --- | ---
    `int` | Subpart.`compareTo(Subpart s)` Compare two subparts: put parents first, use ids if there is no parent-child relation
    `boolean` | Subpart.`isParentOf(Subpart subpart)` True, if this subpart is parent (or parent of a parent etc.) of the given subpart

    Constructors in org.cpsolver.studentsct.model with parameters of type Subpart
    Constructor and Description
    `Section(long id, int limit, String name, Subpart subpart, Placement placement, List<Instructor> instructors, Section parent)` Constructor
    `Section(long id, int limit, String name, Subpart subpart, Placement placement, Section parent, Instructor... instructors)` Constructor
    `Section(long id, int limit, String name, Subpart subpart, Placement placement, String instructorIds, String instructorNames, Section parent)` Deprecated.
    `Subpart(long id, String itype, String name, Config config, Subpart parent)` Constructor

  - ### Uses of Subpart in org.cpsolver.studentsct.online

    Constructors in org.cpsolver.studentsct.online with parameters of type Subpart
    Constructor and Description
    `OnlineSection(long id, int limit, String name, Subpart subpart, Placement placement, List<Instructor> instructors, Section parent)`
    `OnlineSection(long id, int limit, String name, Subpart subpart, Placement placement, String instructorIds, String instructorNames, Section parent)` Deprecated.

  - ### Uses of Subpart in org.cpsolver.studentsct.online.expectations

    Methods in org.cpsolver.studentsct.online.expectations with parameters of type Subpart
    Modifier and Type | Method and Description
    --- | ---
    `protected int` | PercentageOverExpected.`getLimit(Subpart subpart)` Subpart limit (using `OnlineConfig.getEnrollment()` if applicable}, `getLimit()` otherwise)
    `protected boolean` | PercentageOverExpected.`hasExpectations(Subpart subpart)` Check if there are expectations on any of the sections of the given subpart

  - ### Uses of Subpart in org.cpsolver.studentsct.online.selection

    Fields in org.cpsolver.studentsct.online.selection with type parameters of type Subpart
    Modifier and Type | Field and Description
    --- | ---
    `protected Hashtable<CourseRequest,Hashtable<Subpart,Section>>` | SuggestionSelection.`iRequiredSection`

  - ### Uses of Subpart in org.cpsolver.studentsct.reservation

    Methods in org.cpsolver.studentsct.reservation that return types with arguments of type Subpart
    Modifier and Type | Method and Description
    --- | ---
    `Map<Subpart,Set<Section>>` | Reservation.`getSections()` One or more sections on which the reservation is set (optional).
    `Map<Subpart,Set<Section>>` | Restriction.`getSections()` One or more sections on which the restriction is set.

    Methods in org.cpsolver.studentsct.reservation with parameters of type Subpart
    Modifier and Type | Method and Description
    --- | ---
    `Set<Section>` | Reservation.`getSections(Subpart subpart)` One or more sections on which the reservation is set (optional).
    `Set<Section>` | Restriction.`getSections(Subpart subpart)` One or more sections on which the restriction is set (optional).