org.cpsolver.studentsct.extension

## Class StudentQuality.Context

- java.lang.Object
- - org.cpsolver.studentsct.extension.StudentQuality.Context

- Enclosing class:
    StudentQuality

      public static class StudentQuality.Context
      extends Object

  Context holding parameters and distance cache. See `StudentQuality.Type` for the list of available parameters.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected double` | `iTimeOverlapMaxLimit`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Context(DistanceMetric dm, DataProperties config)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getAccBackToBackDistance()`
    `String` | `getBackToBackAccommodation()`
    `int` | `getBackToBackDistance()`
    `String` | `getBreakBetweenClassesAccommodation()`
    `int` | `getDistanceInMinutes(Placement p1, Placement p2)`
    `protected int` | `getDistanceInMinutes(RoomLocation r1, RoomLocation r2)`
    `protected Integer` | `getDistanceInMinutesFromCache(RoomLocation r1, RoomLocation r2)`
    `DistanceMetric` | `getDistanceMetric()`
    `int` | `getEarlySlot()`
    `String` | `getFreeTimeAccommodation()`
    `int` | `getLateSlot()`
    `int` | `getLunchEnd()`
    `int` | `getLunchLength()`
    `int` | `getLunchStart()`
    `int` | `getMaxTravelGap()`
    `double` | `getTimeOverlapMaxLimit()`
    `List<StudentQuality.Type>` | `getTypes()`
    `int` | `getUnavailabilityDistanceInMinutes(Placement p1, Unavailability p2)`
    `protected int` | `getUnavailabilityDistanceInMinutes(RoomLocation r1, RoomLocation r2)`
    `protected Integer` | `getUnavailabilityDistanceInMinutesFromCache(RoomLocation r1, RoomLocation r2)`
    `DistanceMetric` | `getUnavailabilityDistanceMetric()`
    `int` | `getWorkDayLimit()`
    `boolean` | `isDebug()`
    `protected void` | `setDistanceInMinutesFromCache(RoomLocation r1, RoomLocation r2, Integer distance)`
    `protected void` | `setUnavailabilityDistanceInMinutesFromCache(RoomLocation r1, RoomLocation r2, Integer distance)`

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

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

- - ### Field Detail

    - #### iTimeOverlapMaxLimit

          protected double iTimeOverlapMaxLimit

  - ### Constructor Detail

    - #### Context

          public Context(DistanceMetric dm,
                         DataProperties config)

  - ### Method Detail

    - #### getDistanceMetric

          public DistanceMetric getDistanceMetric()

    - #### getUnavailabilityDistanceMetric

          public DistanceMetric getUnavailabilityDistanceMetric()

    - #### isDebug

          public boolean isDebug()

    - #### getTimeOverlapMaxLimit

          public double getTimeOverlapMaxLimit()

    - #### getLunchStart

          public int getLunchStart()

    - #### getLunchEnd

          public int getLunchEnd()

    - #### getLunchLength

          public int getLunchLength()

    - #### getMaxTravelGap

          public int getMaxTravelGap()

    - #### getWorkDayLimit

          public int getWorkDayLimit()

    - #### getBackToBackDistance

          public int getBackToBackDistance()

    - #### getAccBackToBackDistance

          public int getAccBackToBackDistance()

    - #### getEarlySlot

          public int getEarlySlot()

    - #### getLateSlot

          public int getLateSlot()

    - #### getFreeTimeAccommodation

          public String getFreeTimeAccommodation()

    - #### getBackToBackAccommodation

          public String getBackToBackAccommodation()

    - #### getBreakBetweenClassesAccommodation

          public String getBreakBetweenClassesAccommodation()

    - #### getTypes

          public List<StudentQuality.Type> getTypes()

    - #### getDistanceInMinutesFromCache

          protected Integer getDistanceInMinutesFromCache(RoomLocation r1,
                                                          RoomLocation r2)

    - #### setDistanceInMinutesFromCache

          protected void setDistanceInMinutesFromCache(RoomLocation r1,
                                                       RoomLocation r2,
                                                       Integer distance)

    - #### getDistanceInMinutes

          protected int getDistanceInMinutes(RoomLocation r1,
                                             RoomLocation r2)

    - #### getDistanceInMinutes

          public int getDistanceInMinutes(Placement p1,
                                          Placement p2)

    - #### getUnavailabilityDistanceInMinutesFromCache

          protected Integer getUnavailabilityDistanceInMinutesFromCache(RoomLocation r1,
                                                                        RoomLocation r2)

    - #### setUnavailabilityDistanceInMinutesFromCache

          protected void setUnavailabilityDistanceInMinutesFromCache(RoomLocation r1,
                                                                     RoomLocation r2,
                                                                     Integer distance)

    - #### getUnavailabilityDistanceInMinutes

          protected int getUnavailabilityDistanceInMinutes(RoomLocation r1,
                                                           RoomLocation r2)

    - #### getUnavailabilityDistanceInMinutes

          public int getUnavailabilityDistanceInMinutes(Placement p1,
                                                        Unavailability p2)