Klasse GostBlockungsergebnisManager

java.lang.Object
de.svws_nrw.core.utils.gost.GostBlockungsergebnisManager

public class GostBlockungsergebnisManager extends Object
Ein Manager zur Handhabung von Daten des Typs GostBlockungsergebnis. Hierbei werden auch Hilfsmethoden zur Interpretation der Daten erzeugt.
Nur Methoden, die mit "state" beginnen verändern den Zustand der Daten.
  • Konstruktordetails

    • GostBlockungsergebnisManager

      public GostBlockungsergebnisManager(@NotNull @NotNull GostBlockungsdatenManager pParent, long pGostBlockungsergebnisID)
      Erstellt einen leeren GostBlockungsergebnisManager in Bezug auf GostBlockungsdatenManager. Die ID des leeren Ergebnisses ist -1 und muss noch gesetzt werden.
      Parameter:
      pParent - Das Eltern-Objekt. (Daten-Manager für die grundlegenden Definitionen der Blockung)
      pGostBlockungsergebnisID - Die ID des Blockungsergebnisses.
    • GostBlockungsergebnisManager

      public GostBlockungsergebnisManager(@NotNull @NotNull GostBlockungsdatenManager pParent, @NotNull @NotNull GostBlockungsergebnis pErgebnis)
      Erstellt einen neuen Manager mit den Daten aus dem übergebenen Ergebnis.
      Parameter:
      pParent - Das Eltern-Objekt. (Daten-Manager für die grundlegenden Definitionen der Blockung)
      pErgebnis - Das Ergebnis, welches kopiert wird.
  • Methodendetails

    • stateRevalidateEverything

      public void stateRevalidateEverything()
      Baut alle Datenstrukturen neu auf.
    • getAnzahlSchuelerExterne

      public int getAnzahlSchuelerExterne()
      Liefert die Anzahl an externen SuS.
      Gibt zurück:
      die Anzahl an externen SuS.
    • getAnzahlSchienen

      public int getAnzahlSchienen()
      Liefert die Anzahl an E-Schienen.
      Gibt zurück:
      die Anzahl an E-Schienen.
    • getAnzahlSchuelerDummy

      public int getAnzahlSchuelerDummy()
      Liefert die Anzahl an Dummy-SuS.
      Gibt zurück:
      die Anzahl an Dummy-SuS.
    • getBlockungsdatenID

      public long getBlockungsdatenID()
      Liefert die Datenbank-ID der Blockungs. Das ist die ID des Elternteils.
      Gibt zurück:
      die Datenbank-ID der Blockungs. Das ist die ID des Elternteils.
    • getErgebnis

      @NotNull public @NotNull GostBlockungsergebnis getErgebnis()
      Liefert das Blockungsergebnis inklusive ungültiger Schüler-Kurs-Zuordnungen.
      Gibt zurück:
      das Blockungsergebnis inklusive ungültiger Schüler-Kurs-Zuordnungen.
    • getFehlermeldungen

      @NotNull public @NotNull List<String> getFehlermeldungen()
      Liefert die Menge (meistens eine) aller Fehlermeldungen.
      Falls die Liste nicht leer ist, sollte die GUI den Benutzer warnen, dass die Blockung nicht vollständig geladen wurde!
      Gibt zurück:
      die Menge (meistens eine) aller Fehlermeldungen.
    • getParent

      @NotNull public @NotNull GostBlockungsdatenManager getParent()
      Liefert den zugehörigen Daten-Manager für diesen Ergebnis-Manager.
      Gibt zurück:
      den zugehörigen Daten-Manager für diesen Ergebnis-Manager.
    • getOfBewertung1WertStatic

      public static int getOfBewertung1WertStatic(@NotNull @NotNull GostBlockungsergebnisBewertung bewertung)
      Liefert den Wert des 1. Bewertungskriteriums. Darin enthalten sind:
      - Die Anzahl der Regelverletzungen.
      - Die Anzahl der nicht genügend gesetzten Kurse.
      Parameter:
      bewertung - die Bewertung vom Ergebnis
      Gibt zurück:
      Den Wert des 1. Bewertungskriteriums.
    • getOfBewertung1Wert

      public int getOfBewertung1Wert()
      Liefert den Wert des 1. Bewertungskriteriums. Darin enthalten sind:
      - Die Anzahl der Regelverletzungen.
      - Die Anzahl der nicht genügend gesetzten Kurse.
      Gibt zurück:
      Den Wert des 1. Bewertungskriteriums.
    • getOfBewertung1Farbcode

      public double getOfBewertung1Farbcode()
      Liefert eine Güte des 1. Bewertungskriteriums im Bereich [0;1], mit 0=optimal. Darin enthalten sind:
      - Die Anzahl der Regelverletzungen.
      - Die Anzahl der nicht genügend gesetzten Kurse.
      Gibt zurück:
      Eine Güte des 1. Bewertungskriteriums im Bereich [0;1], mit 0=optimal.
    • getOfBewertung2Wert

      public int getOfBewertung2Wert()
      Liefert den Wert des 2. Bewertungskriteriums. Darin enthalten sind:
      - Die Anzahl der nicht zugeordneten Schülerfachwahlen.
      - Die Anzahl der Schülerkollisionen.
      Gibt zurück:
      Den Wert des 2. Bewertungskriteriums.
    • getOfBewertung2Farbcode

      public double getOfBewertung2Farbcode()
      Liefert eine Güte des 2. Bewertungskriteriums im Bereich [0;1], mit 0=optimal. Darin enthalten sind:
      - Die Anzahl der nicht zugeordneten Schülerfachwahlen.
      - Die Anzahl der Schülerkollisionen.
      Gibt zurück:
      Eine Güte des 2. Bewertungskriteriums im Bereich [0;1], mit 0=optimal.
    • getOfBewertung3Wert

      public int getOfBewertung3Wert()
      Liefert den Wert des 3. Bewertungskriteriums (Kursdifferenz).
      Gibt zurück:
      den Wert des 3. Bewertungskriteriums (Kursdifferenz).
    • getOfBewertung3Farbcode

      public double getOfBewertung3Farbcode()
      Liefert eine Güte des 3. Bewertungskriteriums (Kursdifferenz) im Bereich [0;1], mit 0=optimal.
      Gibt zurück:
      eine Güte des 3. Bewertungskriteriums (Kursdifferenz) im Bereich [0;1], mit 0=optimal.
    • getOfBewertung3Wert_nur_LK

      public int getOfBewertung3Wert_nur_LK()
      Liefert den Wert des 3. Bewertungskriteriums (Kursdifferenz) nur bezogen auf die Kursart LK.
      Gibt zurück:
      den Wert des 3. Bewertungskriteriums (Kursdifferenz) nur bezogen auf die Kursart LK.
    • getOfBewertung3Farbcode_nur_LK

      public double getOfBewertung3Farbcode_nur_LK()
      Liefert eine Güte des 3. Bewertungskriteriums (Kursdifferenz, nur LK) im Bereich [0;1], mit 0=optimal.
      Gibt zurück:
      eine Güte des 3. Bewertungskriteriums (Kursdifferenz, nur LK) im Bereich [0;1], mit 0=optimal.
    • getOfBewertung3Wert_nur_GK

      public int getOfBewertung3Wert_nur_GK()
      Liefert den Wert des 3. Bewertungskriteriums (Kursdifferenz) nur bezogen auf die Kursart GK.
      Gibt zurück:
      den Wert des 3. Bewertungskriteriums (Kursdifferenz) nur bezogen auf die Kursart GK.
    • getOfBewertung3Farbcode_nur_GK

      public double getOfBewertung3Farbcode_nur_GK()
      Liefert eine Güte des 3. Bewertungskriteriums (Kursdifferenz, nur GK) im Bereich [0;1], mit 0=optimal.
      Gibt zurück:
      eine Güte des 3. Bewertungskriteriums (Kursdifferenz, nur GK) im Bereich [0;1], mit 0=optimal.
    • getOfBewertung3Wert_nur_REST

      public int getOfBewertung3Wert_nur_REST()
      Liefert den Wert des 3. Bewertungskriteriums (Kursdifferenz) nur bezogen auf Kursarten die nicht LK oder GK sind.
      Gibt zurück:
      den Wert des 3. Bewertungskriteriums (Kursdifferenz) nur bezogen auf Kursarten die nicht LK oder GK sind.
    • getOfBewertung3Farbcode_nur_REST

      public double getOfBewertung3Farbcode_nur_REST()
      Liefert eine Güte des 3. Bewertungskriteriums (Kursdifferenz, alles außer LK und GK) im Bereich [0;1], mit 0=optimal.
      Gibt zurück:
      eine Güte des 3. Bewertungskriteriums (Kursdifferenz, alles außer LK und GK) im Bereich [0;1], mit 0=optimal.
    • getOfBewertung4Wert

      public int getOfBewertung4Wert()
      Liefert den Wert des 4. Bewertungskriteriums. Darin enthalten sind:
      - Die Anzahl an Kursen mit gleicher Fachart (Fach, Kursart) in einer Schiene.
      Dieses Bewertungskriterium wird teilweise absichtlich verletzt, wenn z. B. Schienen erzeugt werden mit dem selben Fach (Sport-Schiene). Nichtsdestotrotz möchte man häufig nicht die selben Fächer in einer Schiene, aufgrund von Raumkapazitäten (Fachräume).
      Gibt zurück:
      Den Wert des 4. Bewertungskriteriums.
    • getOfBewertung4Farbcode

      public double getOfBewertung4Farbcode()
      Liefert eine Güte des 4. Bewertungskriteriums im Bereich [0;1], mit 0=optimal. Darin enthalten sind:
      - Die Anzahl an Kursen mit gleicher Fachart (Fach, Kursart) in einer Schiene.
      Dieses Bewertungskriterium wird teilweise absichtlich verletzt, wenn z. B. Schienen erzeugt werden mit dem selben Fach (Sport-Schiene). Nichtsdestotrotz möchte man häufig nicht die selben Fächer in einer Schiene, aufgrund von Raumkapazitäten (Fachräume).
      Gibt zurück:
      Eine Güte des 4. Bewertungskriteriums im Bereich [0;1], mit 0=optimal.
    • getOfBewertungAnzahlNichtZugeordneterKurse

      public int getOfBewertungAnzahlNichtZugeordneterKurse()
      Liefert die Anzahl nicht vollständig verteilter Kurse.
      Ein Multikurse der über mehrere Schienen geht und gar nicht zugeteilt wurde, wird mehrfach gezählt.
      Gibt zurück:
      die Anzahl nicht vollständig verteilter Kurse.
    • getOfBewertungAnzahlNichtzugeordneterFachwahlen

      public int getOfBewertungAnzahlNichtzugeordneterFachwahlen()
      Liefert die Anzahl an Fachwahlen, die nicht zugeordnet wurden.
      Gibt zurück:
      die Anzahl an Fachwahlen, die nicht zugeordnet wurden.
    • getFach

      @NotNull public @NotNull GostFach getFach(long idFach) throws DeveloperNotificationException
      Ermittelt das GostFach für die angegebene ID. Delegiert den Aufruf an den Fächer-Manager des Eltern-Objektes GostBlockungsdatenManager.
      Wirft eine DeveloperNotificationException falls die ID unbekannt ist.
      Parameter:
      idFach - Die Datenbank-ID des Faches.
      Gibt zurück:
      Das GostFach-Objekt.
      Löst aus:
      DeveloperNotificationException - falls die ID unbekannt ist.
    • getOfFachKursmenge

      @NotNull public @NotNull List<GostBlockungsergebnisKurs> getOfFachKursmenge(long idFach) throws DeveloperNotificationException
      Liefert die Menge aller Kurse mit dem angegebenen Fach-ID.
      Parameter:
      idFach - Die Datenbank-ID des Faches.
      Gibt zurück:
      die Menge aller Kurse mit dem angegebenen Fach-ID.
      Löst aus:
      DeveloperNotificationException - falls die Fach-ID unbekannt ist.
    • getOfFachartKursmenge

      @NotNull public @NotNull List<GostBlockungsergebnisKurs> getOfFachartKursmenge(long idFachart) throws DeveloperNotificationException
      Liefert die Kursmenge, die zur Fachart gehört. Die Fachart-ID wird berechnet über: GostKursart.getFachartID(long, int).

      Hinweis: Die Kursmenge pro Fachart ist sortiert nach kursSetSortierungFachKursartNummer() oder kursSetSortierungKursartFachNummer().
      Hinweis: Wirft eine DeveloperNotificationException falls die Fachart-ID unbekannt ist.
      Parameter:
      idFachart - Die Fachart-ID wird berechnet über: GostKursart.getFachartID(long, int).
      Gibt zurück:
      die Kursmenge, die zur Fachart gehört.
      Löst aus:
      DeveloperNotificationException - falls die Fachart-ID unbekannt ist.
    • getOfFachartKursdifferenz

      public int getOfFachartKursdifferenz(long idFachart) throws DeveloperNotificationException
      Liefert die Kursdifferenz der Fachart und beachtet dabei Dummy-SuS von Kursen. Die Fachart-ID wird berechnet über: GostKursart.getFachartID(long, int). Die Methode beachtet auch Kurse mit Dummy-SuS.
      Wirft eine DeveloperNotificationException falls die Fachart-ID unbekannt ist.
      Parameter:
      idFachart - Die Fachart-ID wird berechnet über: GostKursart.getFachartID(long, int).
      Gibt zurück:
      die Kursdifferenz der Fachart und beachtet dabei Dummy-SuS von Kursen.
      Löst aus:
      DeveloperNotificationException - falls die Fachart-ID unbekannt ist.
    • getOfFachOfKursartKursdifferenz

      public int getOfFachOfKursartKursdifferenz(long idFach, int idKursart) throws DeveloperNotificationException
      Liefert die Kursdifferenz der Fachart, übergeben als (Fach, Kursart). Die Methode beachtet auch Kurse mit Dummy-SuS.
      Wirft eine DeveloperNotificationException falls die Fachart-ID unbekannt ist.
      Parameter:
      idFach - Die Datenbank-ID des Faches.
      idKursart - Die ID der Kursart.
      Gibt zurück:
      die Kursdifferenz der Fachart, übergeben als (Fach, Kursart).
      Löst aus:
      DeveloperNotificationException - falls die Fachart-ID unbekannt ist.
    • kursSetSortierungKursartFachNummer

      public void kursSetSortierungKursartFachNummer()
      Ändert die aktuelle Sortierung von Facharten und Kursen.
      Hinweis: Sortiert zuerst nach LK/GK, dann nach der Fachsortierung, zuletzt nach der Kursnummer.
    • kursSetSortierungFachKursartNummer

      public void kursSetSortierungFachKursartNummer()
      Ändert die aktuelle Sortierung von Facharten und Kursen.
      Hinweis: Sortiert zuerst nach der Fachsortierung, dann nach LK/GK, zuletzt nach der Kursnummer.
    • getOfSchuelerNameVorname

      @NotNull public @NotNull String getOfSchuelerNameVorname(long idSchueler)
      Liefert einen Schüler-String im Format: 'Nachname, Vorname'.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      Gibt zurück:
      einen Schüler-String im Format: 'Nachname, Vorname'.
    • getOfSchuelerKursmenge

      @NotNull public @NotNull Set<GostBlockungsergebnisKurs> getOfSchuelerKursmenge(long idSchueler)
      Liefert die Menge aller Kurse, die dem Schüler zugeordnet sind.
      Wirft eine Exception, wenn der ID kein Schüler zugeordnet ist.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      Gibt zurück:
      Die Menge aller Kurse, die dem Schüler zugeordnet sind.
    • getOfSchuelerKursmengeMitKollisionen

      @NotNull public @NotNull Set<GostBlockungsergebnisKurs> getOfSchuelerKursmengeMitKollisionen(long idSchueler)
      Liefert die Menge aller Kurse des Schülers mit Kollisionen.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      Gibt zurück:
      Die Menge aller Kurse des Schülers mit Kollisionen.
    • getOfSchuelerFachwahlmengeOhneKurszuordnung

      @NotNull public @NotNull List<GostFachwahl> getOfSchuelerFachwahlmengeOhneKurszuordnung(long idSchueler)
      Liefert die Menge aller Fachwahlen eines Schülers, die keinem Kurs zugeordnet sind.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      Gibt zurück:
      die Menge aller Fachwahlen eines Schülers, die keinem Kurs zugeordnet sind.
    • getOfSchuelerHatNichtwahl

      public boolean getOfSchuelerHatNichtwahl(long idSchueler)
      Liefert TRUE, falls der Schüler mindestens eine Nichtwahl hat.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      Gibt zurück:
      TRUE, falls der Schüler mindestens eine Nichtwahl hat.
    • getOfSchuelerHatFachwahl

      public boolean getOfSchuelerHatFachwahl(long idSchueler, long idFach, int idKursart)
      Liefert TRUE, falls der übergebene Schüler die entsprechende Fachwahl (Fach + Kursart) hat.
      Parameter:
      idSchueler - Die Datenbank.ID des Schülers.
      idFach - Die Datenbank-ID des Faches der Fachwahl des Schülers.
      idKursart - Die ID der Kursart der Fachwahl des Schülers.
      Gibt zurück:
      TRUE, falls der übergebene Schüler die entsprechende Fachwahl (Fach + Kursart) hat.
    • getOfSchuelerHatKollision

      public boolean getOfSchuelerHatKollision(long idSchueler)
      Liefert TRUE, falls der Schüler mindestens eine Kollision hat.
      Ein Schüler, der N>1 Mal in einer Schiene ist, erzeugt N-1 Kollisionen.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      Gibt zurück:
      TRUE, falls der Schüler mindestens eine Kollision hat.
    • getOfSchuelerAnzahlGefiltert

      public int getOfSchuelerAnzahlGefiltert(long idKurs, long idFach, int idKursart, int konfliktTyp, @NotNull @NotNull String subString, Geschlecht geschlecht, GostSchriftlichkeit schriftlichkeit)
      Liefert die Anzahl der Schüler, die den Filterkriterien entsprechen.
      Parameter:
      idKurs - falls >= 0, werden Schüler des Kurses herausgefiltert.
      idFach - falls >= 0, werden Schüler mit diesem Fach herausgefiltert.
      idKursart - falls >= 0 und idFach >= 0, werden Schüler mit dieser Fach/Kursart Kombination herausgefiltert.
      konfliktTyp - falls 1 = mit Kollisionen, 2 = mit Nichtwahlen, 3 = mit Kollisionen und Nichtwahlen, sonst alle Schüler.
      subString - falls |pSubString| > 0 werden Schüler deren Vor- oder Nachname diesen String enthält herausgefiltert.
      geschlecht - falls != null, werden die Schüler mit diesem Geschlecht herausgefiltert.
      schriftlichkeit - falls != null, werden die Schüler mit dieser GostSchriftlichkeit herausgefiltert (isKurs oder idFach/idKursart müssen definiert sein).
      Gibt zurück:
      die Anzahl der Schüler, die den Filterkriterien entsprechen.
    • getOfSchuelerOfSchieneHatKollision

      public boolean getOfSchuelerOfSchieneHatKollision(long idSchueler, long idSchiene)
      Liefert TRUE, falls der Schüler in der Schiene mehr als einen Kurs belegt hat.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      TRUE, falls der Schüler in der Schiene mehr als einen Kurs belegt hat.
    • getOfSchuelerOfFachKursart

      @NotNull public @NotNull GostKursart getOfSchuelerOfFachKursart(long idSchueler, long idFach)
      Liefert die zu (idSchueler, idFach) die jeweilige Kursart.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idFach - Die Datenbank-ID des Faches.
      Gibt zurück:
      Die zu (idSchueler, idFach) die jeweilige Kursart.
    • getOfSchuelerOfFachZugeordneterKurs

      public GostBlockungsergebnisKurs getOfSchuelerOfFachZugeordneterKurs(long idSchueler, long idFach)
      Liefert den zu (idSchueler, idFach) passenden Kurs oder NULL.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idFach - Die Datenbank-ID des Faches.
      Gibt zurück:
      den zu (idSchueler, idFach) passenden Kurs oder NULL.
    • getOfSchuelerNeuzuordnung

      @NotNull public @NotNull GostBlockungsergebnisKursSchuelerZuordnungUpdate getOfSchuelerNeuzuordnung(long idSchueler, boolean fixiereBelegteKurse)
      Liefert ein GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, welches für den Schüler eine berechnete Neuzuordnung der Kurse beinhaltet.
      Parameter:
      idSchueler - Die ID des Schueler-Objekts.
      fixiereBelegteKurse - falls TRUE, werden alle Kurse fixiert, in denen der Schüler momentan ist.
      Gibt zurück:
      ein SchuelerblockungOutput-Objekt, welches für den Schüler eine Neuzuordnung der Kurse beinhaltet.
    • getOfSchuelerOfKursIstZugeordnet

      public boolean getOfSchuelerOfKursIstZugeordnet(long idSchueler, long idKurs)
      Liefert TRUE, falls der Schüler dem Kurs zugeordnet ist.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      TRUE, falls der Schüler dem Kurs zugeordnet ist.
    • getOfSchuelerOfKursIstUngueltig

      public boolean getOfSchuelerOfKursIstUngueltig(long idSchueler, long idKurs)
      Liefert TRUE, falls der Schüler dem Kurs zugeordnet ist, aber keine entsprechende Fachwahl hat.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      TRUE, falls der Schüler dem Kurs zugeordnet ist, aber keine entsprechende Fachwahl hat.
    • getOfSchuelerOfKursIstGesperrt

      public boolean getOfSchuelerOfKursIstGesperrt(long idSchueler, long idKurs)
      Liefert TRUE, falls der Schüler im Kurs via Regel gesperrt sein soll.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      TRUE, falls der Schüler im Kurs via Regel gesperrt sein soll.
    • getOfSchuelerOfKursFachwahl

      @NotNull public @NotNull GostFachwahl getOfSchuelerOfKursFachwahl(long idSchueler, long idKurs)
      Liefert die Fachwahl des Schüler passend zu den Kurs.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Fachwahl des Schüler passend zu den Kurs.
    • getOfSchuelerMengeGefiltert

      @NotNull public @NotNull List<Schueler> getOfSchuelerMengeGefiltert(long idKurs, long idFach, int idKursart, int konfliktTyp, @NotNull @NotNull String subString)
      Liefert eine nach Kriterien gefilterte Menge aller Schüler.
      Parameter:
      idKurs - falls >= 0, werden Schüler des Kurses herausgefiltert.
      idFach - falls >= 0, werden Schüler mit diesem Fach herausgefiltert.
      idKursart - falls >= 0 und idFach >= 0, werden Schüler mit dieser Fach/Kursart Kombination herausgefiltert.
      konfliktTyp - falls 1 = mit Kollisionen, 2 = mit Nichtwahlen, 3 = mit Kollisionen und Nichtwahlen, sonst alle Schüler.
      subString - falls |pSubString| > 0 werden Schüler deren Vor- oder Nachname diesen String enthält herausgefiltert.
      Gibt zurück:
      eine nach Kriterien gefilterte Menge aller Schüler.
    • getOfSchuelerMengeMitAbweichendemAbijahrgang

      @NotNull public @NotNull List<Schueler> getOfSchuelerMengeMitAbweichendemAbijahrgang()
      Liefert eine Liste aller Schüler, deren Abiturjahrgang nicht dem der Blockung entspricht.
      Hinweis: Das kann passieren, wenn nach der Erstellung eines Blockungsergebnisses, ein Schüler nicht versetzt wird.
      Gibt zurück:
      eine Liste aller Schüler, deren Abiturjahrgang nicht dem der Blockung entspricht.
    • getOfSchuelerMapIDzuUngueltigeKurse

      @NotNull public @NotNull Map<Long,Set<GostBlockungsergebnisKurs>> getOfSchuelerMapIDzuUngueltigeKurse()
      Liefert die Map, welche einer Schüler-ID die Menge aller ungültigen Kurse zuordnet.
      Hinweis 1: Hat ein Schüler keine ungültige Kurse, dann gibt es die ID nicht.
      Hinweis 2: Gibt es keine ungültigen Wahlen, so ist die Map leer.
      Gibt zurück:
      Die Map, welche einer Schüler-ID die Menge aller ungültigen Kurse zuordnet.
    • getOfSchuelerOfKursHatKollision

      public boolean getOfSchuelerOfKursHatKollision(long idSchueler, long idKurs)
      Liefert TRUE, falls der Schüler in einer Schiene des Kurses eine Kollision hat.
      Die Methode geht davon aus, dass der Schüler dem Kurs zugeordnet ist.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      TRUE, falls der Schüler in einer Schiene des Kurses eine Kollision hat.
    • getOfSchuelerIstZusammenMitSchuelerInFach

      public boolean getOfSchuelerIstZusammenMitSchuelerInFach(long idSchueler1, long idSchueler2, long idFach)
      Liefert TRUE, falls beide Schüler bezogen auf das Fach gemeinsam im selben Kurs sind.
      Parameter:
      idSchueler1 - Die Datenbank-ID des 1. Schülers.
      idSchueler2 - Die Datenbank-ID des 2. Schülers.
      idFach - Die Datenbank-ID des Faches
      Gibt zurück:
      TRUE, falls beide Schüler im bezogen auf das Fach gemeinsam im selben Kurs sind.
    • getOfSchuelerOfKursAnzahlZusammenWuensche

      public int getOfSchuelerOfKursAnzahlZusammenWuensche(long idS1, long idKurs)
      Liefert die Anzahl an SuS, die mit dem Schüler im Kurs sein wollen.
      Parameter:
      idS1 - Die ID des Schueler-Objekts.
      idKurs - Die ID des StundenplanKurs-Objekts.
      Gibt zurück:
      die Anzahl an SuS, die mit dem Schüler im Kurs sein wollen.
    • getOfSchuelerOfKursAnzahlVerbotenWuensche

      public int getOfSchuelerOfKursAnzahlVerbotenWuensche(long idS1, long idKurs)
      Liefert die Anzahl an SuS, die mit dem Schüler nicht im Kurs sein sollen.
      Parameter:
      idS1 - Die ID des Schueler-Objekts.
      idKurs - Die ID des StundenplanKurs-Objekts.
      Gibt zurück:
      die Anzahl an SuS, die mit dem Schüler nicht im Kurs sein sollen.
    • getKursG

      @NotNull public @NotNull GostBlockungKurs getKursG(long idKurs) throws DeveloperNotificationException
      Liefert den GostBlockungKurs zur übergebenen ID.
      Delegiert den Aufruf an das Eltern-Objekt GostBlockungsdatenManager. Wirft eine DeveloperNotificationException, falls die ID unbekannt ist.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      den GostBlockungKurs zur übergebenen ID.
      Löst aus:
      DeveloperNotificationException - falls die ID unbekannt ist.
    • getKursE

      @NotNull public @NotNull GostBlockungsergebnisKurs getKursE(long idKurs) throws DeveloperNotificationException
      Liefert den GostBlockungsergebnisKurs zur übergebenen ID.
      Wirft eine DeveloperNotificationException, falls die ID unbekannt ist.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      den GostBlockungsergebnisKurs zur übergebenen ID.
      Löst aus:
      DeveloperNotificationException - falls die ID unbekannt ist.
    • getKursmenge

      @NotNull public @NotNull List<GostBlockungsergebnisKurs> getKursmenge()
      Gibt die Menge der GostBlockungsergebnisKurs zurück.
      Gibt zurück:
      die Menge der GostBlockungsergebnisKurs
    • getOfKursName

      @NotNull public @NotNull String getOfKursName(long idKurs)
      Liefert den Namen des Kurses, erzeugt aus Fach, der Kursart und der Nummer, beispielsweise D-GK1.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      den Namen des Kurses, erzeugt aus Fach, der Kursart und der Nummer, beispielsweise D-GK1.
    • getOfKursOfSchieneIstZugeordnet

      public boolean getOfKursOfSchieneIstZugeordnet(long idKurs, long idSchiene)
      Liefert TRUE, falls der Kurs der Schiene zugeordnet ist.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      TRUE, falls der Kurs der Schiene zugeordnet ist.
    • getOfKursSchuelermenge

      @NotNull public @NotNull List<Schueler> getOfKursSchuelermenge(long idKurs)
      Liefert die Menge aller Schüler-Objekte des Kurses.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Menge aller Schüler-Objekte des Kurses.
    • getOfKursSchienenmenge

      @NotNull public @NotNull Set<GostBlockungsergebnisSchiene> getOfKursSchienenmenge(long idKurs) throws DeveloperNotificationException
      Liefert die Schienenmenge des Kurses.
      Wirft eine Exception, falls der ID kein Kurs zugeordnet ist.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Schienenmenge des Kurses.
      Löst aus:
      DeveloperNotificationException - falls der ID kein Kurs zugeordnet ist.
    • getOfKursSchienenNummern

      @NotNull public @jakarta.validation.constraints.NotNull int[] getOfKursSchienenNummern(long idKurs)
      Liefert ein Array aller Schienen-Nummern des Kurses.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      ein Array aller Schienen-Nummern des Kurses.
    • getOfKursAnzahlSchueler

      public int getOfKursAnzahlSchueler(long idKurs)
      Liefert die Anzahl an Schülern die dem Kurs zugeordnet sind ohne Dummy SuS.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Anzahl an Schülern die dem Kurs zugeordnet sind ohne Dummy SuS.
    • getOfKursAnzahlSchuelerDummy

      public int getOfKursAnzahlSchuelerDummy(long idKurs)
      Liefert die Anzahl an Dummy-SuS des Kurses. Dummy-SuS werden durch die Regel mit dem Typ GostKursblockungRegelTyp.KURS_MIT_DUMMY_SUS_AUFFUELLEN einem Kurs zugeordnet.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Anzahl an Dummy-SuS des Kurses.
    • getOfKursAnzahlSchuelerExterne

      public int getOfKursAnzahlSchuelerExterne(long idKurs)
      Liefert die Anzahl externer SuS die dem Kurs zugeordnet sind.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Anzahl externer SuS die dem Kurs zugeordnet sind.
    • getOfKursAnzahlSchuelerSchriftlich

      public int getOfKursAnzahlSchuelerSchriftlich(long idKurs)
      Liefert die Anzahl aller Schüler des Kurses mit Schriftlichkeit GostSchriftlichkeit.SCHRIFTLICH.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Anzahl aller Schüler des Kurses mit Schriftlichkeit GostSchriftlichkeit.SCHRIFTLICH.
    • getOfKursAnzahlSchienenIst

      public int getOfKursAnzahlSchienenIst(long idKurs)
      Liefert die Anzahl an Schienen in denen der Kurs gerade ist.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Anzahl an Schienen in denen der Kurs gerade ist.
    • getOfKursAnzahlSchienenSoll

      public int getOfKursAnzahlSchienenSoll(long idKurs)
      Liefert die Anzahl an Schienen, die der Kurs haben sollte.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Anzahl an Schienen, die der Kurs haben sollte.
    • getOfKursAnzahlSchuelerAbiturLK

      public int getOfKursAnzahlSchuelerAbiturLK(long idKurs)
      Liefert die Anzahl an Schülern, die den Kurs mit Abiturfach 1 oder 2 gewählt (also LK) haben.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Anzahl an Schülern, die den Kurs mit Abiturfach 1 oder 2 gewählt (also LK) haben.
    • getOfKursAnzahlSchuelerAbitur3

      public int getOfKursAnzahlSchuelerAbitur3(long idKurs)
      Liefert die Anzahl an Schülern, die den Kurs mit Abiturfach 3 gewählt haben.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Anzahl an Schülern, die den Kurs mit Abiturfach 3 gewählt haben.
    • getOfKursAnzahlSchuelerAbitur4

      public int getOfKursAnzahlSchuelerAbitur4(long idKurs)
      Liefert die Anzahl an Schülern, die den Kurs mit Abiturfach 4 gewählt haben.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Anzahl an Schülern, die den Kurs mit Abiturfach 4 gewählt haben.
    • getOfKursMaxSuS

      public long getOfKursMaxSuS(long idKurs)
      Liefert die maximale Anzahl an SuS, die in dem Kurs sein dürfen, oder 999 falls es keine Begrenzung gibt.
      Parameter:
      idKurs - Die ID des StundenplanKurs-Objekts.
      Gibt zurück:
      die maximale Anzahl an SuS, die in dem Kurs sein dürfen, oder 999 falls es keine Begrenzung gibt.
    • getMappingKursIDSchuelerIDs

      @NotNull public @NotNull Map<Long,Set<Long>> getMappingKursIDSchuelerIDs()
      Liefert die Map, welche jedem Kurs seine Schülermenge zuordnet.
      Gibt zurück:
      Die Map, welche jedem Kurs seine Schülermenge zuordnet.
    • getMappingKursIDSchienenmenge

      @NotNull public @NotNull Map<Long,Set<GostBlockungsergebnisSchiene>> getMappingKursIDSchienenmenge()
      Liefert die Map, welche jedem Kurs seine Schienenmenge zuordnet.
      Gibt zurück:
      Die Map, welche jedem Kurs seine Schienenmenge zuordnet.
    • regelGetMap_regelID_to_verletzungString

      @NotNull public @NotNull Map<Long,String> regelGetMap_regelID_to_verletzungString()
      Liefert die Map, welche der verletzten Regel-ID (long) die Beschreibung (String) zuordnet.
      Hinweis: Nur verletzte Regel-IDs sind in der KEY-Menge enthalten.
      Gibt zurück:
      die Map, welche der verletzten Regel-ID (long) die Beschreibung (String) zuordnet.
    • regelupdateCreate_01_KURSART_SPERRE_SCHIENEN_VON_BIS

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_01_KURSART_SPERRE_SCHIENEN_VON_BIS(int kursart, int schienenNrVon, int schienenNrBis)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursart-Schienenmengen-Sperrung zu setzen.
      (1) Wenn ein Kurs der Kursart im Schienen-Bereich liegt und gesperrt ist, wird dies entfernt.
      (2) Wenn ein Kurs der Kursart im Schienen-Bereich liegt und fixiert ist, wird dies entfernt.
      (3a) Wenn die Regel in falscher von/bis-Reihenfolge existiert, wird sie entfernt.
      (3b) Wenn die Regel nicht bereits existiert, wird sie hinzugefügt.
      Parameter:
      kursart - Die Kursart der Kurse für welche diese Regel gilt.
      schienenNrVon - Der Anfangsbereich der Schienen.
      schienenNrBis - Der Endbereich der Schienen.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursart-Schienenmengen-Sperrung zu setzen.
    • regelupdateCreate_02_KURS_FIXIERE_IN_SCHIENE_MARKIERT

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_02_KURS_FIXIERE_IN_SCHIENE_MARKIERT(@NotNull @NotNull Set<Long> setKursID, @NotNull @NotNull Set<Integer> setSchienenNr)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kurs-Schienen-Fixierung einer Rechtecks-Auswahl zu realisieren.
      (1) Wenn der Kurs markiert ist und eine Sperrung hat, wird die Sperrung entfernt.
      (2) Wenn der Kurs markiert ist und keine Fixierung hat, wird eine Fixierung erzeugt.
      (3) Fixierungen außerhalb der Kurslage werden vorsichtshalber gelöscht.
      Parameter:
      setKursID - Die Menge aller Kurs-IDs.
      setSchienenNr - Die Menge aller markierten Schienen-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kurs-Schienen-Fixierung einer Rechtecks-Auswahl zu realisieren.
    • regelupdateCreate_02b_KURS_FIXIERE_MENGE_IN_IHREN_SCHIENEN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_02b_KURS_FIXIERE_MENGE_IN_IHREN_SCHIENEN(@NotNull @NotNull Set<Long> setKursID)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursmenge komplett in ihrer Lage zu fixieren.
      (1) Fixierungen innerhalb der Kurslage werden hinzugefügt, falls noch nicht existend.
      (2) Fixierungen außerhalb der Kurslage werden gelöscht.
      Parameter:
      setKursID - Die Kursmenge, die fixiert werden soll.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursmenge komplett in ihrer Lage zu fixieren.
    • regelupdateCreate_02c_KURS_FIXIERE_ALLE_IN_IHREN_SCHIENEN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_02c_KURS_FIXIERE_ALLE_IN_IHREN_SCHIENEN()
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Kurse komplett in ihrer Lage zu fixieren.
      (1) Fixierungen innerhalb der Kurslage werden hinzugefügt, falls noch nicht existend.
      (2) Fixierungen außerhalb der Kurslage werden gelöscht.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Kurse komplett in ihrer Lage zu fixieren.
    • regelupdateCreate_02d_KURS_FIXIERE_IN_SCHIENE_TOGGLE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_02d_KURS_FIXIERE_IN_SCHIENE_TOGGLE(@NotNull @NotNull Set<Long> setKursID, @NotNull @NotNull Set<Integer> setSchienenNr)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursmengen-Schienemengen-Toggle-Fixierung zu realisieren.
      (1) Wenn der Kurs im Schienen-Bereich liegt und fixiert ist, wird die Fixierung gelöst.
      (2) Wenn der Kurs im Schienen-Bereich liegt und nicht fixiert ist, wird er fixiert
      (3) und falls dort eine Sperrung vorliegt, dann wird die Sperrung entfernt.
      Parameter:
      setKursID - Die Menge aller Kurs-IDs.
      setSchienenNr - Die Menge aller Schienen-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursmengen-Schienemengen-Toggle-Fixierung zu realisieren.
    • regelupdateCreate_02e_KURS_FIXIERE_IN_EINER_SCHIENE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_02e_KURS_FIXIERE_IN_EINER_SCHIENE(long idKurs, int schienenNr)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um einen Kurs in einer Schiene zu fixieren.
      (1) Wenn der Kurs in der Schiene eine Sperrung hat, wird diese entfernt.
      (2) Wenn der Kurs bereits in der Schiene fixiert ist, passiert nichts weiteres.
      (3) Wenn der Kurs bereits vollständig fixiert ist, werden seine alten Fixierungen entfernt.
      (4) Andernfalls wird der Kurs in der Schiene fixiert.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      schienenNr - Die Nummer der Schiene, die fixiert werden soll.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um einen Kurs in einer Schiene zu fixieren.
    • regelupdateCreate_03_KURS_SPERRE_IN_SCHIENE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_03_KURS_SPERRE_IN_SCHIENE(@NotNull @NotNull Set<Long> setKursID, @NotNull @NotNull Set<Integer> setSchienenNr)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursmengen-Schienemengen-Sperrung zu setzen.
      (1) Wenn der Kurs im Schienen-Bereich nicht gesperrt ist und keine Fixierung vorliegt, wird er gesperrt.
      Parameter:
      setKursID - Die Menge aller Kurs-IDs.
      setSchienenNr - Die Menge aller Schienen-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursmengen-Schienemengen-Sperrung zu setzen.
    • regelupdateCreate_03b_KURS_SPERRE_IN_SCHIENE_TOGGLE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_03b_KURS_SPERRE_IN_SCHIENE_TOGGLE(@NotNull @NotNull Set<Long> setKursID, @NotNull @NotNull Set<Integer> setSchienenNr)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursmengen-Schienemengen-Toggle-Sperrung zu realisieren.
      (1) Wenn der Kurs im Schienen-Bereich liegt und gesperrt ist, wird die Sperrung gelöst.
      (2) Wenn der Kurs im Schienen-Bereich liegt und nicht gesperrt ist und keine Fixierung vorliegt, wird er gesperrt.
      Parameter:
      setKursID - Die Menge aller Kurs-IDs.
      setSchienenNr - Die Menge aller Schienen-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursmengen-Schienemengen-Toggle-Sperrung zu realisieren.
    • regelupdateCreate_04_SCHUELER_FIXIEREN_IN_KURS

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04_SCHUELER_FIXIEREN_IN_KURS(@NotNull @NotNull Set<Long> setSchuelerID, @NotNull @NotNull Set<Long> setKursID)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Schülermengen-Kursmengen-Fixierung zu setzen.
      (1) Wenn der Schüler im Kurs gesperrt ist, wird dies entfernt.
      (2) Wenn der Schüler nicht im Kurs fixiert ist, wird er fixiert.
      (3) Wenn der Schüler bereits im Kurs fixiert ist, wird dies ignoriert.
      (4) Wenn der Schüler im Nachbar-Kurs fixiert ist, wird dies entfernt.
      Parameter:
      setSchuelerID - Die Menge der Schüler-IDs.
      setKursID - Die Menge der Kurs-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Schülermengen-Kursmengen-Fixierung zu setzen.
    • regelupdateCreate_04b_SCHUELER_FIXIEREN_IN_DEN_KURSEN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04b_SCHUELER_FIXIEREN_IN_DEN_KURSEN(@NotNull @NotNull Set<Long> setKursID)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Schüler-Kurs-Fixierungen einer Kursmenge zu setzen.
      (1) Wenn der Schüler im Kurs gesperrt ist, wird dies entfernt.
      (2) Wenn der Schüler nicht im Kurs fixiert ist, wird er fixiert.
      (3) Wenn der Schüler bereits im Kurs fixiert ist, wird dies ignoriert.
      (4) Wenn der Schüler im Nachbar-Kurs fixiert ist, wird dies entfernt.
      Parameter:
      setKursID - Die Menge der Kurs-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Schüler-Kurs-Fixierungen einer Kursmenge zu setzen.
    • regelupdateCreate_04c_SCHUELER_FIXIEREN_IN_ALLEN_KURSEN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04c_SCHUELER_FIXIEREN_IN_ALLEN_KURSEN()
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Schüler in ihren aktuellen Kursen zu fixieren.
      Die Methode delegiert alles an regelupdateCreate_04_SCHUELER_FIXIEREN_IN_KURS(java.util.Set<java.lang.Long>, java.util.Set<java.lang.Long>).
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Schüler in ihren aktuellen Kursen zu fixieren.
    • regelupdateCreate_04e_SCHUELER_FIXIEREN_TYP_LK

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04e_SCHUELER_FIXIEREN_TYP_LK()
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller LK-Schüler zu fixieren.
      (1) Wenn der Schüler im Kurs gesperrt ist, wird dies entfernt.
      (2) Wenn der Schüler nicht im Kurs fixiert ist, wird er fixiert.
      (3) Wenn der Schüler im Nachbar-Kurs fixiert ist, wird dies entfernt.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller LK-Schüler zu fixieren.
    • regelupdateCreate_04e_SCHUELER_FIXIEREN_TYP_LK_DER_KURSMENGE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04e_SCHUELER_FIXIEREN_TYP_LK_DER_KURSMENGE(@NotNull @NotNull Set<Long> kursIDs)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle LK-Schüler einer Kursmenge zu fixieren.
      (1) Wenn der Schüler im Kurs gesperrt ist, wird dies entfernt.
      (2) Wenn der Schüler nicht im Kurs fixiert ist, wird er fixiert.
      (3) Wenn der Schüler im Nachbar-Kurs fixiert ist, wird dies entfernt.
      Parameter:
      kursIDs - Die Menge der Kurse.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle LK-Schüler einer Kursmenge zu fixieren.
    • regelupdateCreate_04f_SCHUELER_FIXIEREN_TYP_AB3

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04f_SCHUELER_FIXIEREN_TYP_AB3()
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller AB3-Schüler zu fixieren.
      (1) Wenn der Schüler im Kurs gesperrt ist, wird dies entfernt.
      (2) Wenn der Schüler nicht im Kurs fixiert ist, wird er fixiert.
      (3) Wenn der Schüler im Nachbar-Kurs fixiert ist, wird dies entfernt.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller AB3-Schüler zu fixieren.
    • regelupdateCreate_04f_SCHUELER_FIXIEREN_TYP_AB3_DER_KURSMENGE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04f_SCHUELER_FIXIEREN_TYP_AB3_DER_KURSMENGE(@NotNull @NotNull Set<Long> kursIDs)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller AB3-Schüler zu fixieren.
      (1) Wenn der Schüler im Kurs gesperrt ist, wird dies entfernt.
      (2) Wenn der Schüler nicht im Kurs fixiert ist, wird er fixiert.
      (3) Wenn der Schüler im Nachbar-Kurs fixiert ist, wird dies entfernt.
      Parameter:
      kursIDs - Die Menge der Kurse.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller AB3-Schüler zu fixieren.
    • regelupdateCreate_04g_SCHUELER_FIXIEREN_TYP_LK_UND_AB3

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04g_SCHUELER_FIXIEREN_TYP_LK_UND_AB3()
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller LKs und AB3-Schüler zu fixieren.
      (1) Wenn der Schüler im Kurs gesperrt ist, wird dies entfernt.
      (2) Wenn der Schüler nicht im Kurs fixiert ist, wird er fixiert.
      (3) Wenn der Schüler im Nachbar-Kurs fixiert ist, wird dies entfernt.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller LKs und AB3-Schüler zu fixieren.
    • regelupdateCreate_04g_SCHUELER_FIXIEREN_TYP_LK_UND_AB3_DER_KURSMENGE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04g_SCHUELER_FIXIEREN_TYP_LK_UND_AB3_DER_KURSMENGE(@NotNull @NotNull Set<Long> kursIDs)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller LKs und AB3-Schüler zu fixieren.
      (1) Wenn der Schüler im Kurs gesperrt ist, wird dies entfernt.
      (2) Wenn der Schüler nicht im Kurs fixiert ist, wird er fixiert.
      (3) Wenn der Schüler im Nachbar-Kurs fixiert ist, wird dies entfernt.
      Parameter:
      kursIDs - Die Menge der Kurse.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller LKs und AB3-Schüler zu fixieren.
    • regelupdateCreate_04h_SCHUELER_FIXIEREN_TYP_AB4

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04h_SCHUELER_FIXIEREN_TYP_AB4()
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller AB4-Schüler zu fixieren.
      (1) Wenn der Schüler im Kurs gesperrt ist, wird dies entfernt.
      (2) Wenn der Schüler nicht im Kurs fixiert ist, wird er fixiert.
      (3) Wenn der Schüler im Nachbar-Kurs fixiert ist, wird dies entfernt.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller AB4-Schüler zu fixieren.
    • regelupdateCreate_04h_SCHUELER_FIXIEREN_TYP_AB4_DER_KURSMENGE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04h_SCHUELER_FIXIEREN_TYP_AB4_DER_KURSMENGE(@NotNull @NotNull Set<Long> kursIDs)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller AB4-Schüler zu fixieren.
      (1) Wenn der Schüler im Kurs gesperrt ist, wird dies entfernt.
      (2) Wenn der Schüler nicht im Kurs fixiert ist, wird er fixiert.
      (3) Wenn der Schüler im Nachbar-Kurs fixiert ist, wird dies entfernt.
      Parameter:
      kursIDs - Die Menge der Kurse.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller AB4-Schüler zu fixieren.
    • regelupdateCreate_04i_SCHUELER_FIXIEREN_TYP_AB

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04i_SCHUELER_FIXIEREN_TYP_AB()
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller AB-Schüler zu fixieren.
      (1) Wenn der Schüler im Kurs gesperrt ist, wird dies entfernt.
      (2) Wenn der Schüler nicht im Kurs fixiert ist, wird er fixiert.
      (3) Wenn der Schüler im Nachbar-Kurs fixiert ist, wird dies entfernt.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller AB-Schüler zu fixieren.
    • regelupdateCreate_04i_SCHUELER_FIXIEREN_TYP_AB_DER_KURSMENGE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04i_SCHUELER_FIXIEREN_TYP_AB_DER_KURSMENGE(@NotNull @NotNull Set<Long> kursIDs)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller AB-Schüler zu fixieren.
      (1) Wenn der Schüler im Kurs gesperrt ist, wird dies entfernt.
      (2) Wenn der Schüler nicht im Kurs fixiert ist, wird er fixiert.
      (3) Wenn der Schüler im Nachbar-Kurs fixiert ist, wird dies entfernt.
      Parameter:
      kursIDs - Die Menge der Kurse.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller AB-Schüler zu fixieren.
    • regelupdateCreate_04j_SCHUELER_FIXIEREN_TYP_SCHRIFTLICH

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04j_SCHUELER_FIXIEREN_TYP_SCHRIFTLICH()
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller schriftlichen Schüler zu fixieren.
      (1) Wenn der Schüler im Kurs gesperrt ist, wird dies entfernt.
      (2) Wenn der Schüler nicht im Kurs fixiert ist, wird er fixiert.
      (3) Wenn der Schüler im Nachbar-Kurs fixiert ist, wird dies entfernt.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller schriftlichen Schüler zu fixieren.
    • regelupdateCreate_04j_SCHUELER_FIXIEREN_TYP_SCHRIFTLICH_DER_KURSMENGE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_04j_SCHUELER_FIXIEREN_TYP_SCHRIFTLICH_DER_KURSMENGE(@NotNull @NotNull Set<Long> kursIDs)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller schriftlichen Schüler zu fixieren.
      (1) Wenn der Schüler im Kurs gesperrt ist, wird dies entfernt.
      (2) Wenn der Schüler nicht im Kurs fixiert ist, wird er fixiert.
      (3) Wenn der Schüler im Nachbar-Kurs fixiert ist, wird dies entfernt.
      Parameter:
      kursIDs - Die Menge der Kurse.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Menge aller schriftlichen Schüler zu fixieren.
    • regelupdateCreate_05_SCHUELER_VERBIETEN_IN_KURS

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_05_SCHUELER_VERBIETEN_IN_KURS(@NotNull @NotNull Set<Long> setSchuelerID, @NotNull @NotNull Set<Long> setKursID)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Schülermengen-Kursmengen-Sperrung zu setzen.
      (1) Wenn der Schüler im Kurs fixiert ist, wird die Fixierung entfernt.
      (2) Wenn der Schüler nicht im Kurs gesperrt ist, wird er gesperrt.
      Parameter:
      setSchuelerID - Die Menge Schüler-IDs.
      setKursID - Die Menge der Kurs-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Schülermengen-Kursmengen-Sperrung zu setzen.
    • regelupdateCreate_06_KURSART_ALLEIN_IN_SCHIENEN_VON_BIS

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_06_KURSART_ALLEIN_IN_SCHIENEN_VON_BIS(int kursart, int schienenNrVon, int schienenNrBis)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursart-Schienenmengen-Allein-Zuordnung zu setzen.
      (1) Alle Regeln der selben Kursart werden zunächst entfernt, da zwei solcher Regeln sich widersprechen würden.
      (2) Wenn eine Kursart-Fixierung im falschen Bereich liegt, wird die Fixierung entfernt.
      (3) Wenn eine Kursart-Sperrung im falschen Bereich liegt, wird die Sperrung entfernt.
      (4) Zuletzt wird die Regel neu erzeugt und hinzugefügt.
      Parameter:
      kursart - Die Kursart der Kurse für welche diese Regel gilt.
      schienenNrVon - Der Anfangsbereich der Schienen.
      schienenNrBis - Der Endbereich der Schienen.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursart-Schienenmengen-Allein-Zuordnung zu setzen.
    • regelupdateCreate_07_KURS_VERBIETEN_MIT_KURS

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_07_KURS_VERBIETEN_MIT_KURS(@NotNull @NotNull Set<Long> setKursID)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Kurs-Kurs-Verbote der Kursmenge (alle Paarungen) zu setzen.
      (1) Wenn Kurs A mit Kurs B zusammen (Regel 8) sein soll, wird dies entfernt.
      (2) Wenn die Regel bereits existiert, aber die IDs nicht aufsteigend sind, wird die (MaxKursID, MinKursID)-Kombination entfernt.
      (3) Wenn die Regel nicht existiert, wird sie hinzugefügt.
      Parameter:
      setKursID - Die Menge der Kurs-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Kurs-Kurs-Verbote der Kursmenge (alle Paarungen) zu setzen.
    • regelupdateCreate_08_KURS_ZUSAMMEN_MIT_KURS

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_08_KURS_ZUSAMMEN_MIT_KURS(@NotNull @NotNull Set<Long> setKursID)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Kurs-Kurs-Zusammen-Gebote von setKursID (alle Paarungen) zu setzen.
      (1) Wenn Kurs A mit Kurs B verboten (Regel 7) sein soll, wird dies entfernt.
      (2) Wenn die Regel bereits existiert, aber die IDs nicht aufsteigend sind, wird die (MaxKursID, MinKursID)-Kombination entfernt.
      (3) Wenn die Regel nicht existiert, wird sie hinzugefügt.
      Parameter:
      setKursID - Die Menge der Kurs-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Kurs-Kurs-Zusammen-Gebote von setKursID (alle Paarungen) zu setzen.
    • regelupdateCreate_09_KURS_MIT_DUMMY_SUS_AUFFUELLEN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_09_KURS_MIT_DUMMY_SUS_AUFFUELLEN(long idKurs, int anzahl)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Anzahl der Dummy-Schüler eines Kurses zu setzen.
      (1) Wenn die Regel bereits existiert, wird sie (zunächst) entfernt.
      (2) Wenn danach die Anzahl einen Wert größer 0 hat, wird die Regel hinzugefügt.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      anzahl - Die Anzahl an Dummy-Schülern.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Anzahl der Dummy-Schüler eines Kurses zu setzen.
    • regelupdateCreate_10_LEHRKRAEFTE_BEACHTEN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_10_LEHRKRAEFTE_BEACHTEN(boolean erstellen)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um "Lehrkräfte beachten" zu aktivieren/deaktivieren.
      (1) Wenn erstellen==FALSE und die Regel existiert, wird sie entfernt.
      (2) Wenn erstellen==TRUE und die Regel existiert nicht, wird sie erzeugt.
      Parameter:
      erstellen - Falls TRUE, wird die Regel aktiviert, andernfalls deaktiviert.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um "Lehrkräfte beachten" zu aktivieren/deaktivieren.
    • regelupdateCreate_11_SCHUELER_ZUSAMMEN_MIT_SCHUELER_IN_FACH

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_11_SCHUELER_ZUSAMMEN_MIT_SCHUELER_IN_FACH(long idSchueler1, long idSchueler2, long idFach)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um zwei Schüler in einem Fach zusammen zu setzen.
      (1) Wenn beide Schüler-IDs identisch sind, wird die Regel ignoriert.
      (2) Wenn es eine Schüler-Schüler-Fach-Verbieten-Regel gibt, wird diese entfernt.
      (3) Wenn es eine Schüler-Schüler-Verbieten-Regel gibt, wird diese entfernt.
      (4) Wenn es eine Schüler-Schüler-Zusammen-Regel gibt, wird diese entfernt.
      (5a) Wenn es eine Schüler-Schüler-Fach-Zusammen-Regel in falscher Schüler-ID-Reihenfolge gibt, wird sie entfernt.
      (5b) Wenn es keine Schüler-Schüler-Fach-Zusammen-Regel gibt, wird sie hinzugefügt.
      Parameter:
      idSchueler1 - Die Datenbank-ID des 1. Schülers.
      idSchueler2 - Die Datenbank-ID des 2. Schülers.
      idFach - Die Datenbank-ID des Faches
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um zwei Schüler in einem Fach zusammen zu setzen.
    • regelupdateCreate_12_SCHUELER_VERBIETEN_MIT_SCHUELER_IN_FACH

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_12_SCHUELER_VERBIETEN_MIT_SCHUELER_IN_FACH(long idSchueler1, long idSchueler2, long idFach)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um zwei Schüler in einem Fach zu verbieten.
      (1) Wenn beide Schüler-IDs identisch sind, wird die Regel ignoriert.
      (2) Wenn es eine Schüler-Schüler-Fach-Zusammen-Regel gibt, wird diese entfernt.
      (3) Wenn es eine Schüler-Schüler-Zusammen-Regel gibt, wird diese entfernt.
      (4) Wenn es eine Schüler-Schüler-Verboten-Regel gibt, wird diese entfernt.
      (5a) Wenn es eine Schüler-Schüler-Fach-Verboten-Regel in falscher Schüler-ID-Reihenfolge gibt, wird sie entfernt.
      (5b) Wenn es keine Schüler-Schüler-Fach-Verboten-Regel gibt, wird sie hinzugefügt.
      Parameter:
      idSchueler1 - Die Datenbank-ID des 1. Schülers.
      idSchueler2 - Die Datenbank-ID des 2. Schülers.
      idFach - Die Datenbank-ID des Faches
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um zwei Schüler in einem Fach zu verbieten.
    • regelupdateCreate_13_SCHUELER_ZUSAMMEN_MIT_SCHUELER

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_13_SCHUELER_ZUSAMMEN_MIT_SCHUELER(long idSchueler1, long idSchueler2)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um zwei Schüler in jedem gemeinsamen Fach zusammen zu setzen.
      (1) Wenn es eine Schüler-Schüler-Fach-Zusammen-Regel mit den selben Schülern gibt, wird diese entfernt.
      (2) Wenn es eine Schüler-Schüler-Fach-Verbieten-Regel mit den selben Schülern gibt, wird diese entfernt.
      (3) Wenn es eine Schüler-Schüler-Zusammen-Regel mit den selben Schülern gibt, wird diese entfernt (aber später hinzugefügt).
      (4) Wenn es eine Schüler-Schüler-Verbieten-Regel mit den selben Schülern gibt, wird diese entfernt.
      (5) Wenn die Schüler-IDs gültig sind, wird nun die Schüler-Schüler-Zusammen-Regel hinzugefügt.
      Parameter:
      idSchueler1 - Die Datenbank-ID des 1. Schülers.
      idSchueler2 - Die Datenbank-ID des 2. Schülers.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um zwei Schüler in jedem gemeinsamen Fach zusammen zu setzen.
    • regelupdateCreate_14_SCHUELER_VERBIETEN_MIT_SCHUELER

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_14_SCHUELER_VERBIETEN_MIT_SCHUELER(long idSchueler1, long idSchueler2)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um zwei Schüler in jedem gemeinsamen Fach zu verbieten.
      (1) Wenn es eine Schüler-Schüler-Fach-Zusammen-Regel mit den selben Schülern gibt, wird diese entfernt.
      (2) Wenn es eine Schüler-Schüler-Fach-Verbieten-Regel mit den selben Schülern gibt, wird diese entfernt.
      (3) Wenn es eine Schüler-Schüler-Zusammen-Regel mit den selben Schülern gibt, wird diese entfernt.
      (4) Wenn es eine Schüler-Schüler-Verbieten-Regel mit den selben Schülern gibt, wird diese entfernt (aber später hinzugefügt).
      (5) Wenn die Schüler-IDs gültig sind, wird nun die Schüler-Schüler-Verbieten-Regel hinzugefügt.
      Parameter:
      idSchueler1 - Die Datenbank-ID des 1. Schülers.
      idSchueler2 - Die Datenbank-ID des 2. Schülers.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um zwei Schüler in jedem gemeinsamen Fach zu verbieten.
    • regelupdateCreate_15_KURS_MAXIMALE_SCHUELERANZAHL

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_15_KURS_MAXIMALE_SCHUELERANZAHL(long idKurs, int anzahl)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die maximale Anzahl an Schülern eines Kurses zu setzen.
      (1) Wenn die Regel bereits existiert, wird sie (zunächst) entfernt.
      (2) Wenn danach die Anzahl einen Wert im Intervall [0;99] hat, wird die Regel hinzugefügt.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      anzahl - Die maximale Anzahl an SuS des Kurses.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die maximale Anzahl an Schülern eines Kurses zu setzen.
    • regelupdateCreate_16_SCHUELER_IGNORIEREN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_16_SCHUELER_IGNORIEREN(@NotNull @NotNull Set<Long> setSchuelerID)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Schülermenge beim Blocken zu ignorieren.
      (1) Wenn diese Regel nicht existiert, wird sie hinzugefügt.
      Parameter:
      setSchuelerID - Die Menge der Schüler-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Schülermenge beim Blocken zu ignorieren.
    • regelupdateCreate_17_KURS_KURSDIFFERENZ_BEI_DER_VISUALISIERUNG_IGNORIEREN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_17_KURS_KURSDIFFERENZ_BEI_DER_VISUALISIERUNG_IGNORIEREN(@NotNull @NotNull Set<Long> setKursID)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursmenge von Kursdifferenz-Berechnungen auszuschließen.
      (1) Wenn diese Regel nicht existiert, wird sie hinzugefügt.
      Parameter:
      setKursID - Die Menge der Kurs-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursmenge von Kursdifferenz-Berechnungen auszuschließen.
    • regelupdateCreate_18_FACH_KURSART_MAXIMALE_ANZAHL_PRO_SCHIENE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_18_FACH_KURSART_MAXIMALE_ANZAHL_PRO_SCHIENE(long idFach, int idKursart, int maximal)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die maximale Anzahl an Kursen einer bestimmten Fachart (in jeder Schiene) zu begrenzen.
      (1) Falls die Regel bereits existiert, wird sie zunächst entfernt.
      (2) Falls der "maximal"-Wert 1 ist und es Regeln KURS_VERBIETEN_MIT_KURS bei Paaren dieser Fachart gibt, werden die Regeln entfernt.
      (3) Zuletzt wird die neue Regel hinzugefügt.
      Parameter:
      idFach - Die Datenbank-ID des Faches.
      idKursart - Die ID der Kursart.
      maximal - Die maximale Kursanzahl dieser Fachart (in jeder Schiene). Gültige Werte sind 1 bis 9.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die maximale Anzahl an Kursen einer bestimmten Fachart (in jeder Schiene) zu begrenzen.
    • regelupdateCreate_19_SCHUELERMENGE_ENTFERNEN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateCreate_19_SCHUELERMENGE_ENTFERNEN(@NotNull @NotNull Set<Long> setSchuelerID)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Regeln einer Schülermenge zu entfernen.
      Parameter:
      setSchuelerID - Die Menge der Schüler-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Regeln einer Schülermenge zu entfernen.
    • regelupdatePatchByID_01_KURSART_SPERRE_SCHIENEN_VON_BIS

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_01_KURSART_SPERRE_SCHIENEN_VON_BIS(long idRegelAlt, int kursart, int schienenNrVon, int schienenNrBis)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      kursart - Die Kursart der Kurse für welche diese Regel gilt.
      schienenNrVon - Der Anfangsbereich der Schienen.
      schienenNrBis - Der Endbereich der Schienen.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_02e_KURS_FIXIERE_IN_EINER_SCHIENE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_02e_KURS_FIXIERE_IN_EINER_SCHIENE(long idRegelAlt, long idKurs, int schienenNr)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      idKurs - Die Datenbank-ID des Kurses.
      schienenNr - Die Nummer der Schiene, die fixiert werden soll.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_03_KURS_SPERRE_IN_SCHIENE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_03_KURS_SPERRE_IN_SCHIENE(long idRegelAlt, long idKurs, int schienenNr)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      idKurs - Die ID des Kurses.
      schienenNr - Die Nummer der Schiene.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_04_SCHUELER_FIXIEREN_IN_KURS

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_04_SCHUELER_FIXIEREN_IN_KURS(long idRegelAlt, long idSchueler, long idKurs)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      idSchueler - Die ID des Schülers.
      idKurs - Die ID des Kurses.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_05_SCHUELER_VERBIETEN_IN_KURS

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_05_SCHUELER_VERBIETEN_IN_KURS(long idRegelAlt, long idSchueler, long idKurs)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      idSchueler - Die ID des Schülers.
      idKurs - Die ID des Kurses.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_06_KURSART_ALLEIN_IN_SCHIENEN_VON_BIS

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_06_KURSART_ALLEIN_IN_SCHIENEN_VON_BIS(long idRegelAlt, int kursart, int schienenNrVon, int schienenNrBis)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      kursart - Die Kursart der Kurse für welche diese Regel gilt.
      schienenNrVon - Der Anfangsbereich der Schienen.
      schienenNrBis - Der Endbereich der Schienen.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_07_KURS_VERBIETEN_MIT_KURS

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_07_KURS_VERBIETEN_MIT_KURS(long idRegelAlt, long idKurs1, long idKurs2)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      idKurs1 - Die ID des 1. Kurses.
      idKurs2 - Die ID des 2. Kurses.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_08_KURS_ZUSAMMEN_MIT_KURS

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_08_KURS_ZUSAMMEN_MIT_KURS(long idRegelAlt, long idKurs1, long idKurs2)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      idKurs1 - Die ID des 1. Kurses.
      idKurs2 - Die ID des 2. Kurses.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_09_KURS_MIT_DUMMY_SUS_AUFFUELLEN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_09_KURS_MIT_DUMMY_SUS_AUFFUELLEN(long idRegelAlt, long idKurs, int anzahl)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      idKurs - Die ID des Kurses.
      anzahl - Die Anzahl an Dummy-SuS des Kurses.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_11_SCHUELER_ZUSAMMEN_MIT_SCHUELER_IN_FACH

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_11_SCHUELER_ZUSAMMEN_MIT_SCHUELER_IN_FACH(long idRegelAlt, long idSchueler1, long idSchueler2, long idFach)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      idSchueler1 - Die Datenbank-ID des 1. Schülers.
      idSchueler2 - Die Datenbank-ID des 2. Schülers.
      idFach - Die Datenbank-ID des Faches
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_12_SCHUELER_VERBIETEN_MIT_SCHUELER_IN_FACH

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_12_SCHUELER_VERBIETEN_MIT_SCHUELER_IN_FACH(long idRegelAlt, long idSchueler1, long idSchueler2, long idFach)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      idSchueler1 - Die Datenbank-ID des 1. Schülers.
      idSchueler2 - Die Datenbank-ID des 2. Schülers.
      idFach - Die Datenbank-ID des Faches
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_13_SCHUELER_ZUSAMMEN_MIT_SCHUELER

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_13_SCHUELER_ZUSAMMEN_MIT_SCHUELER(long idRegelAlt, long idSchueler1, long idSchueler2)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      idSchueler1 - Die Datenbank-ID des 1. Schülers.
      idSchueler2 - Die Datenbank-ID des 2. Schülers.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_14_SCHUELER_VERBIETEN_MIT_SCHUELER

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_14_SCHUELER_VERBIETEN_MIT_SCHUELER(long idRegelAlt, long idSchueler1, long idSchueler2)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      idSchueler1 - Die Datenbank-ID des 1. Schülers.
      idSchueler2 - Die Datenbank-ID des 2. Schülers.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_15_KURS_MAXIMALE_SCHUELERANZAHL

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_15_KURS_MAXIMALE_SCHUELERANZAHL(long idRegelAlt, long idKurs, int anzahl)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      idKurs - Die ID des Kurses.
      anzahl - Die maximale Anzahl der SuS des Kurses.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_16_SCHUELER_IGNORIEREN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_16_SCHUELER_IGNORIEREN(long idRegelAlt, long idSchueler)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
      (1) Wenn die alte Regel nicht gefunden wird, passiert nichts.
      (2) Wenn eine Regel mit genau den selben Parametern bereits existiert, passiert nichts.
      (3) Andernfalls wird die alte Regel entfernt und eine neue Regel hinzugefügt.
      Parameter:
      idRegelAlt - Die ID der alten zu modifizierenden Regel.
      idSchueler - Die ID des Schülers.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Regel dieses Typs zu patchen.
    • regelupdatePatchByID_17_KURS_KURSDIFFERENZ_BEI_DER_VISUALISIERUNG_IGNORIEREN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdatePatchByID_17_KURS_KURSDIFFERENZ_BEI_DER_VISUALISIERUNG_IGNORIEREN(long idRegelAlt, long idKursNeu)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Regel von einem zu einem anderen Kurs zu patchen.
      (1) Wenn die alte Regel nicht existiert, passiert nichts.
      (2) Wenn die neue Kurs-ID bereits existiert, passiert nichts.
      (3) Wenn die alte Kurs-ID der neuen Kurs-ID gleicht, passiert nichts.
      (4) Andernfalls wird die alte Regel gelöscht (idKursAlt) und eine neue Regel wird erzeugt (idKursNeu).
      Parameter:
      idRegelAlt - Die Regel, die modifiziert wird.
      idKursNeu - Die neue Kurs-ID deren Regel hinzugefügt werden soll.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um die Regel von einem zu einem anderen Kurs zu patchen.
    • regelupdateRemove_02_KURS_FIXIERE_IN_SCHIENE_MARKIERT

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateRemove_02_KURS_FIXIERE_IN_SCHIENE_MARKIERT(@NotNull @NotNull Set<Long> setKursID, @NotNull @NotNull Set<Integer> setSchienenNr)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursmengen-Schienemengen-Fixierung zu lösen.
      (1) Wenn der Kurs im Schienen-Bereich liegt und bereits fixiert ist, wird die Fixierung entfernt.
      Parameter:
      setKursID - Die Menge aller Kurs-IDs.
      setSchienenNr - Die Menge aller Schienen-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursmengen-Schienemengen-Fixierung zu lösen.
    • regelupdateRemove_02b_KURS_FIXIERE_MENGE_IN_IHREN_SCHIENEN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateRemove_02b_KURS_FIXIERE_MENGE_IN_IHREN_SCHIENEN(@NotNull @NotNull Set<Long> setKursID)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Fixierung einer Kursmenge komplett zu lösen.
      (1) Alle Fixierungen der Kursmenge werden gelöst.
      Parameter:
      setKursID - Die Kursmenge, deren Fixierungen gelöst werden sollen.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Fixierung einer Kursmenge komplett zu lösen.
    • regelupdateRemove_02c_KURS_FIXIERE_ALLE_IN_IHREN_SCHIENEN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateRemove_02c_KURS_FIXIERE_ALLE_IN_IHREN_SCHIENEN()
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Kurs-Schienen-Fixierungen zu lösen.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Kurs-Schienen-Fixierungen zu lösen.
    • regelupdateRemove_02e_KURS_FIXIERE_IN_EINER_SCHIENE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateRemove_02e_KURS_FIXIERE_IN_EINER_SCHIENE(long idKurs, int schienenNr)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kurs-Schienen-Fixierung zu lösen.
      (1) Wenn der Kurs in der Schiene fixiert ist, wird die Fixierung entfernt.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      schienenNr - Die Nummer der Schiene, die gelöst werden soll.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kurs-Schienen-Fixierung zu lösen.
    • regelupdateRemove_03_KURS_SPERRE_IN_SCHIENE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateRemove_03_KURS_SPERRE_IN_SCHIENE(@NotNull @NotNull Set<Long> setKursID, @NotNull @NotNull Set<Integer> setSchienenNr)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursmengen-Schienemengen-Sperrung zu lösen.
      (1) Wenn der Kurs in dem Schienen-Bereich gesperrt ist, wird die Sperrung entfernt.
      Parameter:
      setKursID - Die Menge aller Kurs-IDs.
      setSchienenNr - Die Menge aller Schienen-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Kursmengen-Schienemengen-Sperrung zu lösen.
    • regelupdateRemove_04_SCHUELER_FIXIEREN_IN_KURS

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateRemove_04_SCHUELER_FIXIEREN_IN_KURS(@NotNull @NotNull Set<Long> setSchuelerID, @NotNull @NotNull Set<Long> setKursID)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Schülermengen-Kursmengen-Fixierung zu lösen.
      (1) Wenn der Schüler im Kurs fixiert ist, wird die Fixierung entfernt.
      Parameter:
      setSchuelerID - Die Menge der Schüler-IDs.
      setKursID - Die Menge der Kurs-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um eine Schülermengen-Kursmengen-Fixierung zu lösen.
    • regelupdateRemove_04b_SCHUELER_FIXIEREN_IN_DEN_KURSEN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateRemove_04b_SCHUELER_FIXIEREN_IN_DEN_KURSEN(@NotNull @NotNull Set<Long> setKursID)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Schüler-Kurs-Fixierungen einer Kursmenge zu lösen.
      (1) Wenn der Schüler im Kurs fixiert ist, wird die Fixierung entfernt.
      Parameter:
      setKursID - Die Menge der Kurs-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Schüler-Kurs-Fixierungen einer Kursmenge zu lösen.
    • regelupdateRemove_04c_SCHUELER_FIXIEREN_IN_ALLEN_KURSEN

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateRemove_04c_SCHUELER_FIXIEREN_IN_ALLEN_KURSEN()
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Schüler-Kurs-Fixierungen zu lösen.
      Die Methode delegiert alles an regelupdateCreate_04_SCHUELER_FIXIEREN_IN_KURS(java.util.Set<java.lang.Long>, java.util.Set<java.lang.Long>).
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um alle Schüler-Kurs-Fixierungen zu lösen.
    • regelupdateRemove_04d_SCHUELER_FIXIEREN_IN_DEN_KURSEN_TOGGLE

      @NotNull public @NotNull GostBlockungRegelUpdate regelupdateRemove_04d_SCHUELER_FIXIEREN_IN_DEN_KURSEN_TOGGLE(@NotNull @NotNull Set<Long> setKursID)
      Liefert alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um ein Schüler-Kurs-Fixierung-Toggle zu realisieren.
      (1) Wenn der Schüler im Kurs fixiert ist, wird die Fixierung entfernt.
      (2) Wenn der Schüler im Kurs nicht fixiert ist, wird die Fixierung gesetzt.
      (3) Potentielle Fixierungen in Nachbar-Kursen werden entfernt, da sie in jedem Fall falsch sind.
      Parameter:
      setKursID - Die Menge der Kurs-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungRegelUpdate-Objekt, um ein Schüler-Kurs-Fixierung-Toggle zu realisieren.
    • regelupdateExecute

      public void regelupdateExecute(@NotNull @NotNull GostBlockungRegelUpdate update)
      Entfernt erst alle Regeln aus GostBlockungRegelUpdate.listEntfernen und fügt dann die neuen Regeln aus GostBlockungRegelUpdate.listHinzuzufuegen hinzu.
      Parameter:
      update - Das GostBlockungRegelUpdate-Objekt.
    • kursSchuelerUpdate_01_LEERE_ALLE_KURSE

      @NotNull public @NotNull GostBlockungsergebnisKursSchuelerZuordnungUpdate kursSchuelerUpdate_01_LEERE_ALLE_KURSE(boolean entferneAuchFixierte)
      Liefert alle nötigen Veränderungen als GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, um alle Schüler aus den derzeit zugeordneten Kursen zu entfernen.
      (1) Wenn ein Schüler in einem Kurs ist und nicht fixiert ist, wird er entfernt.
      (2) Wenn ein Schüler in einem Kurs ist und fixiert ist, wird er entfernt, falls entferneAuchFixierte==TRUE ist.
      Parameter:
      entferneAuchFixierte - Falls TRUE, werden auch fixiert SuS entfernt.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, um alle Schüler aus den derzeit zugeordneten Kursen zu entfernen.
    • kursSchuelerUpdate_01b_LEERE_KURSMENGE

      @NotNull public @NotNull GostBlockungsergebnisKursSchuelerZuordnungUpdate kursSchuelerUpdate_01b_LEERE_KURSMENGE(@NotNull @NotNull Set<Long> kursIDs, boolean entferneAuchFixierte)
      Liefert alle nötigen Veränderungen als GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, um alle Schüler aus der übergebenen Kursmenge zu entfernen.
      (1) Wenn ein Schüler in einem Kurs ist und nicht fixiert ist, wird er entfernt.
      (2) Wenn ein Schüler in einem Kurs ist und fixiert ist, wird er entfernt, falls entferneAuchFixierte==TRUE ist.
      Parameter:
      kursIDs - Die Menge der Kurse.
      entferneAuchFixierte - Falls TRUE, werden auch fixiert SuS entfernt.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, um alle Schüler aus der übergebenen Kursmenge zu entfernen.
    • kursSchuelerUpdate_02a_ENTFERNE_SCHUELERMENGE_AUS_KURS

      @NotNull public @NotNull GostBlockungsergebnisKursSchuelerZuordnungUpdate kursSchuelerUpdate_02a_ENTFERNE_SCHUELERMENGE_AUS_KURS(@NotNull @NotNull Set<Long> schuelerIDs, long idKurs, boolean entferneAuchFixierte)
      Liefert alle nötigen Veränderungen als GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, um eine Schülermenge aus einem Kurs zu entfernen.
      (1) Wenn der Schüler dem Kurs zugeordnet ist und nicht fixiert ist, wird er entfernt.
      (2) Wenn der Schüler dem Kurs zugeordnet ist und fixiert ist, wird er entfernt, falls entferneAuchFixierte==TRUE ist. Auch die Fixierungs-Regel wird entfernt.
      Parameter:
      schuelerIDs - Die Menge der Schüler-IDs.
      idKurs - Die Datenbank-ID des Kurses aus dem die Schüler entfernt werden sollen.
      entferneAuchFixierte - Falls TRUE, werden auch fixiert SuS entfernt.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, um eine Schülermenge aus einem Kurs zu entfernen.
    • kursSchuelerUpdate_02b_ENTFERNE_SCHUELERMENGE_AUS_ALLEN_KURSEN

      @NotNull public @NotNull GostBlockungsergebnisKursSchuelerZuordnungUpdate kursSchuelerUpdate_02b_ENTFERNE_SCHUELERMENGE_AUS_ALLEN_KURSEN(@NotNull @NotNull Set<Long> schuelerIDs)
      Liefert alle nötigen Veränderungen als GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, um eine Schülermenge aus allen Kursen entfernen.
      Hinweis: Es werden keine Kurs-Fixierungs-Regeln entfernt. Dafür muss die zugehörige regelupdate-Methode aufgerufen werden.
      Parameter:
      schuelerIDs - Die Menge der Schüler-IDs.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, um eine Schülermenge aus allen Kursen entfernen.
    • kursSchuelerUpdate_03a_FUEGE_KURS_SCHUELER_PAARE_HINZU

      @NotNull public @NotNull GostBlockungsergebnisKursSchuelerZuordnungUpdate kursSchuelerUpdate_03a_FUEGE_KURS_SCHUELER_PAARE_HINZU(@NotNull @NotNull Set<GostBlockungsergebnisKursSchuelerZuordnung> kursSchuelerZuordnungen)
      Liefert alle nötigen Veränderungen als GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, um Schüler auf Kurse zu verteilen.
      (1) Wenn der Schüler nicht im Kurs ist, wird er hinzugefügt.
      (2) Wenn der Schüler in einem Nachbar-Kurs ist, wird er entfernt.
      Hinweis: Wenn der Schüler den Kurs gar nicht gewählt hat, wird dies trotzdem erlaubt. Denn bei einer Umwahl, kann eine Kurszuordnung ungültig sein!
      Parameter:
      kursSchuelerZuordnungen - Alle Kurs-Schüler-Paare, welche hinzugefügt werden sollen.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, um Schüler auf Kurse zu verteilen.
    • kursSchuelerUpdate_03b_ENTFERNE_KURS_SCHUELER_PAARE

      @NotNull public @NotNull GostBlockungsergebnisKursSchuelerZuordnungUpdate kursSchuelerUpdate_03b_ENTFERNE_KURS_SCHUELER_PAARE(@NotNull @NotNull Set<GostBlockungsergebnisKursSchuelerZuordnung> kursSchuelerZuordnungen)
      Liefert alle nötigen Veränderungen als GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, um Schüler aus Kursen zu entfernen.
      (1) Wenn der Schüler im Kurs ist, wird er entfernt.
      (2) Falls es Schüler-Kurs-Fixierungen gibt, werden diese entfernt.
      Parameter:
      kursSchuelerZuordnungen - Alle Kurs-Schüler-Paare, welche entfernt werden sollen.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, um Schüler aus Kursen zu entfernen.
    • kursSchuelerUpdate_04_BILDE_KERNGRUPPEN

      @NotNull public @NotNull GostBlockungsergebnisKursSchuelerZuordnungUpdate kursSchuelerUpdate_04_BILDE_KERNGRUPPEN(long idQuellKurs, @NotNull @NotNull Set<Long> idZielKurse, boolean verschiebeFixierteDesQuellkurses, boolean inZielKursenFixieren, boolean zielKurseLeeren)
      Liefert alle nötigen Veränderungen als GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, um Schüler-Kerngruppe auf mehrere Kurse zu verteilen.
      (1) Die SuS werden entsprechende der Methode kursSchuelerUpdate_03a_VERSCHIEBE_SCHUELER_ZU_KURSEN(java.util.Set<de.svws_nrw.core.data.gost.GostBlockungsergebnisKursSchuelerZuordnung>, boolean, boolean) verschoben.
      (2) Falls "zielKurseLeeren", werden alle SuS aus dem Ziel-Kurs entfernt, die nicht zur Kerngruppe gehören.
      Parameter:
      idQuellKurs - Der Quell-Kurs definiert die Kerngruppe.
      idZielKurse - Alle Ziel-Kurs-Schülermengen werden der Kerngruppe angeglichen.
      verschiebeFixierteDesQuellkurses - Falls TRUE, dann werden Fixierungen im Quell-Kurs gelöst, andernfalls wird der Schüler nicht verschoben.
      inZielKursenFixieren - Falls TRUE, wird nach der Verschiebung der Schüler im Ziel-Kurs fixiert.
      zielKurseLeeren - Falls TRUE, werden alle SuS aus dem Ziel-Kurs entfernt, die nicht zur Kerngruppe gehören.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt, um Schüler auf Kurse zu verteilen mit Nebenbedingungen.
    • kursSchuelerUpdateExecute

      public void kursSchuelerUpdateExecute(@NotNull @NotNull GostBlockungsergebnisKursSchuelerZuordnungUpdate update)
      Entfernt erst alle Regeln aus GostBlockungsergebnisKursSchuelerZuordnungUpdate.listEntfernen und fügt dann die neuen Regeln aus GostBlockungsergebnisKursSchuelerZuordnungUpdate.listHinzuzufuegen hinzu. Macht das selbe für die potentiell enthaltenen RegelUpdates.
      Parameter:
      update - Das GostBlockungsergebnisKursSchuelerZuordnungUpdate-Objekt.
    • kursSchienenUpdate_01a_FUEGE_KURS_SCHIENEN_PAARE_HINZU

      @NotNull public @NotNull GostBlockungsergebnisKursSchienenZuordnungUpdate kursSchienenUpdate_01a_FUEGE_KURS_SCHIENEN_PAARE_HINZU(@NotNull @NotNull Set<GostBlockungsergebnisKursSchienenZuordnung> kursSchienenZuordnungen)
      Liefert alle nötigen Veränderungen als GostBlockungsergebnisKursSchienenZuordnungUpdate-Objekt, um Kurse in Schienen zu setzen.
      (1) Wenn der Kurs nicht in der Schiene ist, wird er hinzugefügt.
      Parameter:
      kursSchienenZuordnungen - Alle Kurs-Schienen-Paare, welche gesetzt werden sollen.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungsergebnisKursSchienenZuordnungUpdate-Objekt, um Kurse in Schienen zu setzen.
    • kursSchienenUpdate_01b_ENTFERNE_KURS_SCHIENEN_PAARE

      @NotNull public @NotNull GostBlockungsergebnisKursSchienenZuordnungUpdate kursSchienenUpdate_01b_ENTFERNE_KURS_SCHIENEN_PAARE(@NotNull @NotNull Set<GostBlockungsergebnisKursSchienenZuordnung> kursSchienenZuordnungen)
      Liefert alle nötigen Veränderungen als GostBlockungsergebnisKursSchienenZuordnungUpdate-Objekt, um Kurse aus Schienen zu entfernen.
      (1) Wenn der Kurs nicht in der Schiene ist, wird er hinzugefügt.
      Parameter:
      kursSchienenZuordnungen - Alle Kurs-Schienen-Paare, welche entfernt werden sollen.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungsergebnisKursSchienenZuordnungUpdate-Objekt, um Kurse aus Schienen zu entfernen.
    • kursSchienenUpdate_02a_VERSCHIEBE_KURS_VON_SCHIENE_NACH_SCHIENE

      @NotNull public @NotNull GostBlockungsergebnisKursSchienenZuordnungUpdate kursSchienenUpdate_02a_VERSCHIEBE_KURS_VON_SCHIENE_NACH_SCHIENE(long idKurs, long idSchieneQuelle, long idSchieneZiel)
      Liefert alle nötigen Veränderungen als GostBlockungsergebnisKursSchienenZuordnungUpdate-Objekt, um einen Kurs von einer Schiene zu einer anderen Schiene zu verschieben.
      (1) Wenn der Kurs nicht in der Quell-Schiene ist, passiert nichts.
      (2) Wenn der Kurs bereits in der Ziel-Schiene ist, passiert nichts.
      (3) Andernfalls, wird der Kurs aus der Quell-Schiene entfernt und der Ziel-Schiene hinzugefügt.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      idSchieneQuelle - Die Quell-Schiene, aus der der Kurs entfernt wird.
      idSchieneZiel - Die Ziel-Schiene, zu welcher der Kurs hinzugefügt wird.
      Gibt zurück:
      alle nötigen Veränderungen als GostBlockungsergebnisKursSchienenZuordnungUpdate-Objekt, um einen Kurs von einer Schiene zu einer anderen Schiene zu verschieben.
    • kursSchienenUpdateExecute

      public void kursSchienenUpdateExecute(@NotNull @NotNull GostBlockungsergebnisKursSchienenZuordnungUpdate update)
      Entfernt erst alle Regeln aus GostBlockungsergebnisKursSchienenZuordnungUpdate.listEntfernen und fügt dann die neuen Regeln aus GostBlockungsergebnisKursSchienenZuordnungUpdate.listHinzuzufuegen hinzu. Macht das selbe für die potentiell enthaltenen RegelUpdates.
      Parameter:
      update - Das GostBlockungsergebnisKursSchienenZuordnungUpdate-Objekt.
    • getSchieneG

      @NotNull public @NotNull GostBlockungSchiene getSchieneG(long idSchiene) throws DeveloperNotificationException
      Liefert das zur ID zugehörige GostBlockungSchiene-Objekt.
      Delegiert den Aufruf an den Fächer-Manager des Eltern-Objektes GostBlockungsdatenManager.
      Wirft eine DeveloperNotificationException, falls die ID unbekannt ist.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      das zur ID zugehörige GostBlockungSchiene-Objekt.
      Löst aus:
      DeveloperNotificationException - falls die ID unbekannt ist.
    • getOfSchieneIstLeer

      public boolean getOfSchieneIstLeer(long idSchiene) throws DeveloperNotificationException
      Liefert TRUE, falls die Schiene keine Kurse enthält.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      TRUE, falls die Schiene keine Kurse enthält.
      Löst aus:
      DeveloperNotificationException - falls die Schiene nicht existiert.
    • getOfSchieneID

      public long getOfSchieneID(int nrSchiene) throws DeveloperNotificationException
      Liefert die ID einer Schiene mit einer bestimmten Nummer.
      Parameter:
      nrSchiene - Die Nummer der Schiene.
      Gibt zurück:
      die ID einer Schiene mit einer bestimmten Nummer.
      Löst aus:
      DeveloperNotificationException - falls eine solche Schiene nicht existiert.
    • getMengeAllerSchienen

      @NotNull public @NotNull List<GostBlockungsergebnisSchiene> getMengeAllerSchienen()
      Liefert die Menge aller Schienen.
      Gibt zurück:
      Die Menge aller Schienen.
    • getOfSchieneAnzahlSchueler

      public int getOfSchieneAnzahlSchueler(long idSchiene)
      Liefert die Anzahl an Schülern in der Schiene mit der übergebenen ID zurück.
      Hinweis: Falls ein Schüler mehrfach in der Schiene ist, also mit Kollisionen, wird er mehrfach gezählt!
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      die Anzahl an Schülern in der Schiene mit der übergebenen ID zurück.
    • getOfSchieneHatKollision

      public boolean getOfSchieneHatKollision(long idSchiene)
      Liefert TRUE, falls die Schiene mindestens eine Schüler-Kollision hat.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      TRUE, falls die Schiene mindestens eine Schüler-Kollision hat.
    • getOfSchieneAnzahlSchuelerMitKollisionen

      public int getOfSchieneAnzahlSchuelerMitKollisionen(long idSchiene)
      Liefert die Anzahl an Schüler-Kollisionen der Schiene.
      Hinweis Ein Schüler, der N>1 Mal in einer Schiene ist, erzeugt N-1 Kollisionen.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      die Anzahl an Schüler-Kollisionen der Schiene.
    • getOfSchieneSchuelermengeMitKollisionen

      @NotNull public @NotNull Set<Long> getOfSchieneSchuelermengeMitKollisionen(long idSchiene)
      Liefert die Menge an Schüler-IDs, die in der Schiene eine Kollision haben.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      Die Menge an Schüler-IDs, die in der Schiene eine Kollision haben.
    • getOfSchieneKursmengeMitKollisionen

      @NotNull public @NotNull Set<GostBlockungsergebnisKurs> getOfSchieneKursmengeMitKollisionen(long idSchiene)
      Liefert die Menge an Kursen, die in der Schiene eine Kollision haben.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      die Menge an Kursen, die in der Schiene eine Kollision haben.
    • getOfSchieneKursmengeSortiert

      @NotNull public @NotNull List<GostBlockungsergebnisKurs> getOfSchieneKursmengeSortiert(long idSchiene)
      Liefert die sortierte Menge an Kursen einer bestimmten Schiene.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      die sortierte Menge an Kursen einer bestimmten Schiene.
    • getOfSchieneTooltipKurskollisionenAsData

      @NotNull public @NotNull List<List<Pair<GostBlockungsergebnisKurs,Integer>>> getOfSchieneTooltipKurskollisionenAsData(long idSchiene)
      Liefert alle Kollisionen einer Schiene, als Liste von Liste von Kurs-Anzahl-Paaren.
      Pro innerer Liste gilt: Das erste Paar ist der Kurs, welcher mit allen anderen verglichen wurde, zusammen mit der Kollisions-Summe.
      Anschließend folgen alle anderen Kurse mit ihrer Kollisions-Anzahl, falls diese größer 0 ist.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      alle Kollisionen einer Schiene, als Liste von Liste von Kurs-Anzahl-Paaren.
    • getOfSchieneRemoveAllowed

      public boolean getOfSchieneRemoveAllowed(long idSchiene) throws DeveloperNotificationException
      Liefert TRUE, falls ein Löschen der Schiene erlaubt ist.
      Kriterium: Es dürfen keine Kurse der Schiene zugeordnet sein.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      TRUE, falls ein Löschen der Schiene erlaubt ist.
      Löst aus:
      DeveloperNotificationException - Falls die Schiene nicht existiert.
    • getOfSchieneMaxKursanzahl

      public int getOfSchieneMaxKursanzahl()
      Liefert die maximale Anzahl an Kursen, die es in einer Schiene gibt.
      Gibt zurück:
      die maximale Anzahl an Kursen, die es in einer Schiene gibt.
    • getOfSchieneAnzahlSchuelerExterne

      public int getOfSchieneAnzahlSchuelerExterne(long idSchiene)
      Liefert die Anzahl an externen SuS der Schiene.
      Hinweis: Ist ein Schüler mehrfach in der Schiene (Kollision) wird er auch mehrfach gezählt.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      die Anzahl an externen SuS der Schiene.
    • getOfSchieneAnzahlSchuelerDummy

      public int getOfSchieneAnzahlSchuelerDummy(long idSchiene)
      Liefert die Anzahl an Dummy-SuS der Schiene.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      die Anzahl an Dummy-SuS der Schiene.
    • setAddSchieneByID

      public void setAddSchieneByID(long idSchiene) throws DeveloperNotificationException
      Fügt die übergebene Schiene hinzu.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Löst aus:
      DeveloperNotificationException - falls die Schiene nicht zuerst im Datenmanager hinzugefügt wurde.
    • setRemoveSchieneByID

      public void setRemoveSchieneByID(long idSchiene) throws DeveloperNotificationException
      Löscht die übergebene Schiene.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Löst aus:
      DeveloperNotificationException - falls die Schiene nicht zuerst beim Datenmanager entfernt wurde, oder falls die Schiene noch Kurszuordnungen hat.
    • setAddKursByID

      public void setAddKursByID(long idKurs) throws DeveloperNotificationException
      Fügt den übergebenen Kurs hinzu.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Löst aus:
      DeveloperNotificationException - Falls der Kurs nicht zuerst beim Datenmanager hinzugefügt wurde.
    • setRemoveKurseByID

      public void setRemoveKurseByID(@NotNull @NotNull List<Long> idKurse) throws DeveloperNotificationException
      Löscht alle übergebenen Kurse. Entfernt zuvor potentiell vorhandene Schülerinnen und Schüler aus dem Kurs.
      Parameter:
      idKurse - Die Liste der Datenbank-IDs der Kurse.
      Löst aus:
      DeveloperNotificationException - Falls mindestens einer der Kurse nicht zuerst beim Datenmanager entfernt wurde.
    • setMergeKurseByID

      public void setMergeKurseByID(long idKursID1keep, long idKursID2delete)
      Verschiebt alles SuS von pKursID2delete nach pKursID1keep und löscht dann den Kurs mit der ID beim GostBlockungsdatenManager, anschließend in diesem Manager.
      Parameter:
      idKursID1keep - Die Datenbank-ID des Kurses, der erhalten bleibt.
      idKursID2delete - Die Datenbank-ID des Kurses, der gelöscht wird.
    • setSplitKurs

      public void setSplitKurs(@NotNull @NotNull GostBlockungKurs kurs1alt, @NotNull @NotNull GostBlockungKurs kurs2neu, @NotNull @jakarta.validation.constraints.NotNull long[] susVon1nach2)
      Erzeugt einen neuen Kurs2 beim GostBlockungsdatenManager, dann bei diesem Manager und verschiebt alle SuS des übergebenen Arrays von Kurs1 nach Kurs2.
      Parameter:
      kurs1alt - Der Kurs, der gesplittet wird.
      kurs2neu - Der Kurs, der neu erzeugt wird.
      susVon1nach2 - Die Datenbank-IDs der Schüler, die verschoben werden sollen.
    • patchOfKursSchienenAnzahl

      public void patchOfKursSchienenAnzahl(long idKurs, int anzahlSchienenNeu) throws DeveloperNotificationException
      Verändert die Schienenanzahl eines Kurses. Dies ist nur bei einer Blockungsvorlage erlaubt.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      anzahlSchienenNeu - Die neue Schienenanzahl des Kurses.
      Löst aus:
      DeveloperNotificationException - Falls ein unerwarteter Fehler passiert.
    • patchOfKursLehrkaefteChanged

      public void patchOfKursLehrkaefteChanged()
      Informiert den Manager, dass sich bei mindestens einem Kurs die Lehrkraft geändert hat. Führt zu einer Revalidierung der Bewertung des Ergebnisses.
    • debug

      public void debug(@NotNull @NotNull Logger logger)
      Eine Logger-Ausgabe für Debug-Zwecke.
      Parameter:
      logger - Ein Logger für Debug-Zwecke.