org.cpsolver.coursett.model

## Class Configuration

- java.lang.Object
- - org.cpsolver.coursett.model.Configuration

-     public class Configuration
      extends Object

  Configuration. Each course can have multiple configurations. A student needs to be enrolled into classes of one of the configurations.
  Version:
    CourseTT 1.3 (University Course Timetabling)
    Copyright (C) 2006 - 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

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Configuration(Long offeringId, Long configId, int limit)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAltConfiguration(Configuration configuration)`
    `void` | `addTopLecture(Lecture lecture)`
    `int` | `countSubparts()`
    `boolean` | `equals(Object o)`
    `List<Configuration>` | `getAltConfigurations()`
    `Long` | `getConfigId()`
    `int` | `getLimit()`
    `Long` | `getOfferingId()`
    `Set<Long>` | `getSubpartIds()`
    `Map<Long,Set<Lecture>>` | `getTopLectures()`
    `Set<Lecture>` | `getTopLectures(Long subpartId)`
    `Set<Long>` | `getTopSubpartIds()`
    `boolean` | `hasConflict(Assignment<Lecture,Placement> assignment, Student student)`
    `int` | `hashCode()`
    `void` | `setAltConfigurations(List<Configuration> altConfigurations)`
    `Set<Student>` | `students()`

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

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

- - ### Constructor Detail

    - #### Configuration

          public Configuration(Long offeringId,
                               Long configId,
                               int limit)

  - ### Method Detail

    - #### getOfferingId

          public Long getOfferingId()

    - #### getConfigId

          public Long getConfigId()

    - #### addTopLecture

          public void addTopLecture(Lecture lecture)

    - #### getTopLectures

          public Map<Long,Set<Lecture>> getTopLectures()

    - #### getTopSubpartIds

          public Set<Long> getTopSubpartIds()

    - #### getTopLectures

          public Set<Lecture> getTopLectures(Long subpartId)

    - #### setAltConfigurations

          public void setAltConfigurations(List<Configuration> altConfigurations)

    - #### addAltConfiguration

          public void addAltConfiguration(Configuration configuration)

    - #### getAltConfigurations

          public List<Configuration> getAltConfigurations()

    - #### students

          public Set<Student> students()

    - #### hasConflict

          public boolean hasConflict(Assignment<Lecture,Placement> assignment,
                                     Student student)

    - #### getLimit

          public int getLimit()

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `Object`

    - #### getSubpartIds

          public Set<Long> getSubpartIds()

    - #### countSubparts

          public int countSubparts()