org.cpsolver.studentsct.report

## Class AbstractStudentSectioningReport

- java.lang.Object
- - org.cpsolver.studentsct.report.AbstractStudentSectioningReport

- All Implemented Interfaces:
    StudentSectioningReport, StudentSectioningReport.Filter
  Direct Known Subclasses:
    AccommodationConflictsTable, CourseConflictTable, CriticalCoursesTable, DistanceConflictTable, RequestGroupTable, RequestPriorityTable, SectionConflictTable, SolutionStatsReport, TableauReport, TimeOverlapConflictTable, UnbalancedSectionsTable

      public abstract class AbstractStudentSectioningReport
      extends Object
      implements StudentSectioningReport, StudentSectioningReport.Filter

  Abstract student sectioning report. Adds filtering capabilities using the filter parameter. It also checks the lastlike and real parameters (whether to include projected and real students respectively) and passes on the useAmPm parameter as `isUseAmPm()`. The filter replicates most of the capabilities available in UniTime on the Batch Student Solver Dashboard page.
  Version:
    StudentSct 1.3 (Student Sectioning)
    Copyright (C) 2007 - 2014 Tomáš Müller
    muller@unitime.org
    http://muller.unitime.org
    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
    This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
    You should have received a copy of the GNU Lesser General Public License along with this library; if not see http://www.gnu.org/licenses/.
  Author:
    Tomáš Müller

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `AbstractStudentSectioningReport.CourseMatcher`
    `static class` | `AbstractStudentSectioningReport.RequestMatcher`

    - ### Nested classes/interfaces inherited from interface org.cpsolver.studentsct.report.StudentSectioningReport

      `StudentSectioningReport.Filter`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractStudentSectioningReport(StudentSectioningModel model)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `CSVFile` | `create(Assignment<Request,Enrollment> assignment, DataProperties properties)`
    `abstract CSVFile` | `createTable(Assignment<Request,Enrollment> assignment, DataProperties properties)`
    `StudentSectioningModel` | `getModel()` Returns the student sectioning model
    `boolean` | `isUseAmPm()` Time display settings
    `boolean` | `matches(Course c)` Returns true if the given course matches the filter.
    `boolean` | `matches(Request r)` Returns true if the given request matches the filter.
    `boolean` | `matches(Request r, Enrollment e)` Returns true if the given request with the given assignment matches the filter.
    `boolean` | `matches(Student student)` Returns true if the given student matches the filter.

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

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

- - ### Constructor Detail

    - #### AbstractStudentSectioningReport

          public AbstractStudentSectioningReport(StudentSectioningModel model)

  - ### Method Detail

    - #### getModel

          public StudentSectioningModel getModel()

      Returns the student sectioning model

    - #### create

          public CSVFile create(Assignment<Request,Enrollment> assignment,
                                DataProperties properties)

      Specified by:
        `create` in interface `StudentSectioningReport`

    - #### matches

          public boolean matches(Request r,
                                 Enrollment e)

      Description copied from interface: `StudentSectioningReport.Filter`
      Returns true if the given request with the given assignment matches the filter.
      Specified by:
        `matches` in interface `StudentSectioningReport.Filter`

    - #### matches

          public boolean matches(Request r)

      Description copied from interface: `StudentSectioningReport.Filter`
      Returns true if the given request matches the filter. `StudentSectioningReport.Filter.matches(Request, Enrollment)` is called with the current assignment.
      Specified by:
        `matches` in interface `StudentSectioningReport.Filter`

    - #### matches

          public boolean matches(Course c)

      Description copied from interface: `StudentSectioningReport.Filter`
      Returns true if the given course matches the filter. This means that a student has a request for the course that matches the filter.
      Specified by:
        `matches` in interface `StudentSectioningReport.Filter`

    - #### matches

          public boolean matches(Student student)

      Description copied from interface: `StudentSectioningReport.Filter`
      Returns true if the given student matches the filter. This means that a student has a request that matches the filter.
      Specified by:
        `matches` in interface `StudentSectioningReport.Filter`

    - #### isUseAmPm

          public boolean isUseAmPm()

      Time display settings

    - #### createTable

          public abstract CSVFile createTable(Assignment<Request,Enrollment> assignment,
                                              DataProperties properties)