Klasse GostBlockungsdatenManager

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

public class GostBlockungsdatenManager extends Object
Ein Manager zur Handhabung von Daten des Typs GostBlockungsdaten.
Hierbei werden auch Hilfsmethoden zur Interpretation der Daten erzeugt.
  • Konstruktordetails

    • GostBlockungsdatenManager

      public GostBlockungsdatenManager(@NotNull @NotNull GostBlockungsdaten daten, @NotNull @NotNull GostFaecherManager faecherManager)
      Erstellt einen neuen Manager mit den angegebenen Blockungsdaten und dem Fächer-Manager.
      Parameter:
      daten - die Blockungsdaten
      faecherManager - der Fächer-Manager
  • Methodendetails

    • toStringKursartSimple

      @NotNull public @NotNull String toStringKursartSimple(int kursart)
      Liefert eine Kurzdarstellung der Kursart mit der übergebenen ID.
      Parameter:
      kursart - Die ID der Kursart.
      Gibt zurück:
      eine Kurzdarstellung der Kursart mit der übergebenen ID.
    • toStringKurs

      @NotNull public @NotNull String toStringKurs(long idKurs)
      Liefert möglichst viele Informationen zum Kurs mit der übergebenen ID.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      möglichst viele Informationen zum Kurs mit der übergebenen ID.
    • toStringKursSimple

      @NotNull public @NotNull String toStringKursSimple(long idKurs)
      Liefert eine Kurzdarstellung des Kurses mit der übergebenen ID.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      eine Kurzdarstellung des Kurses mit der übergebenen ID.
    • toStringFachSimple

      @NotNull public @NotNull String toStringFachSimple(long idFach)
      Liefert eine Kurzdarstellung des Faches mit der übergebenen ID.
      Parameter:
      idFach - Die Datenbank-ID des Faches.
      Gibt zurück:
      eine Kurzdarstellung des Faches mit der übergebenen ID.
    • toStringFachartSimple

      @NotNull public @NotNull String toStringFachartSimple(long idFach, int kursart)
      Liefert eine Kurzdarstellung der Fachart (Fach, Kursart).
      Parameter:
      idFach - Die Datenbank-ID des Faches.
      kursart - Die Datenbank-ID der Kursart.
      Gibt zurück:
      eine Kurzdarstellung der Fachart (Fach, Kursart).
    • toStringFachartSimpleByFachartID

      @NotNull public @NotNull String toStringFachartSimpleByFachartID(long idFachart)
      Liefert eine Kurzdarstellung der Fachart (Fach, Kursart).
      Parameter:
      idFachart - Die Fachart (zusammengesetzt aus Fach und Kursart)
      Gibt zurück:
      eine Kurzdarstellung der Fachart (Fach, Kursart).
    • toStringSchueler

      @NotNull public @NotNull String toStringSchueler(long idSchueler)
      Liefert möglichst viele Informationen zum Schüler mit der übergebenen ID.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      Gibt zurück:
      möglichst viele Informationen zum Schüler mit der übergebenen ID.
    • toStringSchuelerSimple

      @NotNull public @NotNull String toStringSchuelerSimple(long idSchueler)
      Liefert eine Kurzdarstellung des Schüler mit der übergebenen ID.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      Gibt zurück:
      eine Kurzdarstellung des Schüler mit der übergebenen ID.
    • toStringSchiene

      @NotNull public @NotNull String toStringSchiene(long idSchiene)
      Liefert möglichst viele Informationen zur Schiene mit der übergebenen ID.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      möglichst viele Informationen zur Schiene mit der übergebenen ID.
    • toStringSchieneSimple

      @NotNull public @NotNull String toStringSchieneSimple(long idSchiene)
      Liefert eine Kurzdarstellung zur Schiene mit der übergebenen ID.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      eine Kurzdarstellung zur Schiene mit der übergebenen ID.
    • toStringKursLehrkraft

      @NotNull public @NotNull String toStringKursLehrkraft(long idKurs, long idLehrkraft)
      Liefert möglichst viele Informationen zur Lehrkraft mit der übergebenen ID.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      idLehrkraft - Die Datenbank-ID der Lehrkraft.
      Gibt zurück:
      möglichst viele Informationen zur Lehrkraft mit der übergebenen ID.
    • toStringFachwahlSimple

      public String toStringFachwahlSimple(@NotNull @NotNull GostFachwahl gFachwahl)
      Liefert eine Kurzdarstellung zur übergebenen Fachwahl eines Schülers.
      Parameter:
      gFachwahl - Das GostFachwahl-Objekt.
      Gibt zurück:
      eine Kurzdarstellung zur übergebenen Fachwahl eines Schülers.
    • toStringRegel

      @NotNull public @NotNull String toStringRegel(long idRegel)
      Liefert möglichst viele Informationen zur Regel mit der übergebenen ID.
      Parameter:
      idRegel - Die Datenbank-ID der Regel.
      Gibt zurück:
      möglichst viele Informationen zur Regel mit der übergebenen ID.
    • ergebnisAdd

      public void ergebnisAdd(@NotNull @NotNull GostBlockungsergebnis ergebnis) throws DeveloperNotificationException
      Fügt das übergebenen Ergebnis der Blockung hinzu.
      Parameter:
      ergebnis - Das GostBlockungsergebnis-Objekt, welches hinzugefügt wird.
      Löst aus:
      DeveloperNotificationException - Falls in den Daten Inkonsistenzen sind.
    • ergebnisAddListe

      public void ergebnisAddListe(@NotNull @NotNull List<GostBlockungsergebnis> ergebnismenge) throws DeveloperNotificationException
      Fügt die Menge an Ergebnissen GostBlockungsergebnis hinzu.
      Parameter:
      ergebnismenge - Die Menge an Ergebnissen.
      Löst aus:
      DeveloperNotificationException - Falls in den Daten Inkonsistenzen sind.
    • ergebnisGet

      @NotNull public @NotNull GostBlockungsergebnis ergebnisGet(long idErgebnis) throws DeveloperNotificationException
      Liefert einen GostBlockungsergebnis aus der Liste der Ergebnisse. Wirft eine Exception, falls es keinen Listeneintrag mit dieser ID gibt.
      Parameter:
      idErgebnis - Die Datenbank-ID des Ergebnisses.
      Gibt zurück:
      einen GostBlockungsergebnis aus der Liste der Ergebnisse.
      Löst aus:
      DeveloperNotificationException - Falls es keinen Listeneintrag mit dieser ID gibt.
    • ergebnisManagerGet

      @NotNull public @NotNull GostBlockungsergebnisManager ergebnisManagerGet(long idErgebnis) throws DeveloperNotificationException
      Liefert einen GostBlockungsergebnisManager für das Ergebnis mit der übergebenen ID. Wirft eine Exception, falls es keinen Manager für ein Ergebnis mit dieser ID gibt.
      Parameter:
      idErgebnis - Die Datenbank-ID des Ergebnisses.
      Gibt zurück:
      einen GostBlockungsergebnisManager für das Ergebnis.
      Löst aus:
      DeveloperNotificationException - Falls es keinen Manager für ein Ergebnis mit dieser ID gibt.
    • ergebnisManagerExists

      public boolean ergebnisManagerExists(long idErgebnis)
      Liefert TRUE, falls ein GostBlockungsergebnisManager-Objekt mit der ID existiert.
      Parameter:
      idErgebnis - Die Datenbank-ID des Ergebnisses.
      Gibt zurück:
      TRUE, falls ein GostBlockungsergebnisManager-Objekt mit der ID existiert.
    • ergebnisManagerGetListeUnsortiert

      @NotNull public @NotNull List<GostBlockungsergebnisManager> ergebnisManagerGetListeUnsortiert()
      Liefert die sortierte Menge aller GostBlockungsergebnisManager.
      Gibt zurück:
      die sortierte Menge aller GostBlockungsergebnisManager.
    • ergebnisGetListeSortiertNachBewertung

      @NotNull public @NotNull List<GostBlockungsergebnis> ergebnisGetListeSortiertNachBewertung()
      Liefert eine sortierte Menge der GostBlockungsergebnis nach ihrer Bewertung.
      Gibt zurück:
      Eine sortierte Menge der GostBlockungsergebnis nach ihrer Bewertung.
    • ergebnisRemoveListeByIDs

      public void ergebnisRemoveListeByIDs(@NotNull @NotNull Set<Long> listeDerErgebnisIDs) throws DeveloperNotificationException
      Entfernt die Menge an GostBlockungsergebnis-Objekten anhand ihrer ID.
      Parameter:
      listeDerErgebnisIDs - Die IDs der Ergebnisse.
      Löst aus:
      DeveloperNotificationException - Falls es keine Ergebnisse mit diesen IDs gibt.
    • ergebnisRemoveListe

      public void ergebnisRemoveListe(@NotNull @NotNull List<GostBlockungsergebnis> ergebnismenge) throws DeveloperNotificationException
      Entfernt die Menge an GostBlockungsergebnis-Objekten.
      Parameter:
      ergebnismenge - Die Menge an Ergebnissen.
      Löst aus:
      DeveloperNotificationException - Falls es keine Ergebnisse mit diesen IDs gibt.
    • ergebnisRemoveByID

      public void ergebnisRemoveByID(long idErgebnis) throws DeveloperNotificationException
      Entfernt das Ergebnis mit der übergebenen ID aus der Blockung.
      Parameter:
      idErgebnis - Die Datenbank-ID des zu entfernenden Ergebnisses.
      Löst aus:
      DeveloperNotificationException - Falls es kein Ergebnis mit dieser ID gibt.
    • ergebnisRemove

      public void ergebnisRemove(@NotNull @NotNull GostBlockungsergebnis ergebnis) throws DeveloperNotificationException
      Entfernt das übergebenen Ergebnis aus der Blockung.
      Parameter:
      ergebnis - Das zu entfernende Ergebnis.
      Löst aus:
      DeveloperNotificationException - Falls es kein Ergebnis mit dieser ID gibt.
    • ergebnisUpdateBewertung

      public void ergebnisUpdateBewertung(@NotNull @NotNull GostBlockungsergebnis ergebnis) throws DeveloperNotificationException
      Aktualisiert die Bewertung im GostBlockungsdatenManager mit der aus dem GostBlockungsergebnis.
      Falls das Ergebnis nicht existiert, passiert nichts.
      Parameter:
      ergebnis - Das Ergebnis mit der neuen Bewertung.
      Löst aus:
      DeveloperNotificationException - Falls die Daten inkonsistent sind.
    • ergebnisAlleRevalidieren

      public void ergebnisAlleRevalidieren()
      Revalidiert alle Ergebnis. Dies führt zur Aktualisierung aller Ergebnisse.
    • ergebnisGetAnzahl

      public int ergebnisGetAnzahl()
      Liefert die aktuelle Anzahl an Ergebnissen, die im Manager gespeichert sind.
      Gibt zurück:
      die aktuelle Anzahl an Ergebnissen, die im Manager gespeichert sind.
    • ergebnisGetBewertung1Wert

      public int ergebnisGetBewertung1Wert(long idErgebnis) throws DeveloperNotificationException
      Liefert den Wert des 1. Bewertungskriteriums. Darin enthalten sind:
      - Die Anzahl der nicht genügend gesetzten Kurse.
      - Die Anzahl der Regelverletzungen.
      Parameter:
      idErgebnis - die Datenbank-ID des Ergebnisses.
      Gibt zurück:
      Den Wert des 1. Bewertungskriteriums.
      Löst aus:
      DeveloperNotificationException - Falls es kein Ergebnis mit dieser ID gibt.
    • ergebnisGetBewertung1Intervall

      public double ergebnisGetBewertung1Intervall(long idErgebnis) throws DeveloperNotificationException
      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.
      Parameter:
      idErgebnis - Die Datenbank-ID des Ergebnisses.
      Gibt zurück:
      Eine Güte des 1. Bewertungskriteriums im Bereich [0;1], mit 0=optimal.
      Löst aus:
      DeveloperNotificationException - Falls es keinen Listeneintrag mit dieser ID gibt.
    • ergebnisGetBewertung2Wert

      public int ergebnisGetBewertung2Wert(long idErgebnis) throws DeveloperNotificationException
      Liefert den Wert des 2. Bewertungskriteriums. Darin enthalten sind:
      - Die Anzahl der nicht zugeordneten Schülerfachwahlen.
      - Die Anzahl der Schülerkollisionen.
      Parameter:
      idErgebnis - Die Datenbank-ID des Ergebnisses.
      Gibt zurück:
      Den Wert des 2. Bewertungskriteriums.
      Löst aus:
      DeveloperNotificationException - Falls es kein Ergebnis mit dieser ID gibt.
    • ergebnisGetBewertung2Intervall

      public double ergebnisGetBewertung2Intervall(long idErgebnis) throws DeveloperNotificationException
      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.
      Parameter:
      idErgebnis - Die Datenbank-ID des Ergebnisses.
      Gibt zurück:
      Eine Güte des 2. Bewertungskriteriums im Bereich [0;1], mit 0=optimal.
      Löst aus:
      DeveloperNotificationException - Falls es kein Ergebnis mit dieser ID gibt.
    • ergebnisGetBewertung3Wert

      public int ergebnisGetBewertung3Wert(long idErgebnis) throws DeveloperNotificationException
      Liefert den Wert des 3. Bewertungskriteriums. Darin enthalten sind:
      - Die Größte Kursdifferenz.
      Der Wert 0 und 1 werden unterschieden, sind aber von der Bewertung her Äquivalent.
      Parameter:
      idErgebnis - Die Datenbank-ID des Ergebnisses.
      Gibt zurück:
      Den Wert des 3. Bewertungskriteriums.
      Löst aus:
      DeveloperNotificationException - Falls es kein Ergebnis mit dieser ID gibt.
    • ergebnisGetBewertung3Intervall

      public double ergebnisGetBewertung3Intervall(long idErgebnis) throws DeveloperNotificationException
      Liefert eine Güte des 3. Bewertungskriteriums im Bereich [0;1], mit 0=optimal. Darin enthalten sind:
      - Die Größte Kursdifferenz.
      Der Wert 0 und 1 werden unterschieden, sind aber von der Bewertung her Äquivalent.
      Parameter:
      idErgebnis - Die Datenbank-ID des Ergebnisses.
      Gibt zurück:
      Eine Güte des 3. Bewertungskriteriums im Bereich [0;1], mit 0=optimal.
      Löst aus:
      DeveloperNotificationException - Falls es kein Ergebnis mit dieser ID gibt.
    • ergebnisGetBewertung4Wert

      public int ergebnisGetBewertung4Wert(long idErgebnis) throws DeveloperNotificationException
      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).
      Parameter:
      idErgebnis - Die Datenbank-ID des Ergebnisses.
      Gibt zurück:
      Den Wert des 4. Bewertungskriteriums.
      Löst aus:
      DeveloperNotificationException - Falls es kein Ergebnis mit dieser ID gibt.
    • ergebnisGetBewertung4Intervall

      public double ergebnisGetBewertung4Intervall(long idErgebnis) throws DeveloperNotificationException
      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).
      Parameter:
      idErgebnis - Die Datenbank-ID des Ergebnisses.
      Gibt zurück:
      Eine Güte des 4. Bewertungskriteriums im Bereich [0;1], mit 0=optimal.
      Löst aus:
      DeveloperNotificationException - Falls es kein Ergebnis mit dieser ID gibt.
    • kursAdd

      public void kursAdd(@NotNull @NotNull GostBlockungKurs kurs) throws DeveloperNotificationException
      Fügt den übergebenen Kurs zu der Blockung hinzu.
      Parameter:
      kurs - Das GostBlockungKurs-Objekt, welches hinzugefügt wird.
      Löst aus:
      DeveloperNotificationException - falls die Daten des Kurses inkonsistent sind.
    • kursAddListe

      public void kursAddListe(@NotNull @NotNull List<GostBlockungKurs> kursmenge) throws DeveloperNotificationException
      Fügt die Menge an Kursen hinzu.
      Parameter:
      kursmenge - Die Menge an Kursen.
      Löst aus:
      DeveloperNotificationException - Falls die Daten der Kurse inkonsistent sind.
    • kursGetExistiert

      public boolean kursGetExistiert(long idKurs)
      Liefert TRUE, falls der Kurs mit der übergebenen ID existiert.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      TRUE, falls der Kurs mit der übergebenen ID existiert.
    • kursGetAnzahl

      public int kursGetAnzahl()
      Liefert die Anzahl an Kursen.
      Gibt zurück:
      Die Anzahl an Kursen.
    • kursGetName

      @NotNull public @NotNull String kursGetName(long idKurs) throws DeveloperNotificationException
      Liefert den Namen des Kurses der Form [Fach]-[Kursart][Kursnummer][-Suffix], beispielsweise D-GK1.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      Den Namen des Kurses der Form [Fach]-[Kursart][Kursnummer][-Suffix], beispielsweise D-GK1.
      Löst aus:
      DeveloperNotificationException - Falls der Kurs nicht in der Blockung existiert.
    • kursGetNameOhneSuffix

      @NotNull public @NotNull String kursGetNameOhneSuffix(long idKurs) throws DeveloperNotificationException
      Liefert den Namen des Kurses der Form [Fach]-[Kursart][Kursnummer] ohne den potentiellen Suffix, beispielsweise D-GK1.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      den Namen des Kurses der Form [Fach]-[Kursart][Kursnummer] ohne den potentiellen Suffix, beispielsweise D-GK1.
      Löst aus:
      DeveloperNotificationException - Falls der Kurs nicht in der Blockung existiert.
    • kursGet

      @NotNull public @NotNull GostBlockungKurs kursGet(long idKurs) throws DeveloperNotificationException
      Liefert das GostBlockungKurs-Objekt mit der übergebenen ID.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses
      Gibt zurück:
      das GostBlockungKurs-Objekt mit der übergebenen ID.
      Löst aus:
      DeveloperNotificationException - Falls der Kurs nicht in der Blockung existiert.
    • kursGetLehrkraftMitNummer

      public GostBlockungKursLehrer kursGetLehrkraftMitNummer(long idKurs, int reihenfolgeNr) throws DeveloperNotificationException
      Liefert die Lehrkraft des Kurses, welche die angegebene Nummer hat.
      Wirft eine Exceptions, falls es eine solche Lehrkraft nicht gibt.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      reihenfolgeNr - Die Lehrkraft mit der Nummer, die gesucht wird.
      Gibt zurück:
      die Lehrkraft des Kurses, welche die angegebene Nummer hat.
      Löst aus:
      DeveloperNotificationException - Falls es eine solche Lehrkraft nicht gibt.
    • kursGetLehrkraftMitID

      public GostBlockungKursLehrer kursGetLehrkraftMitID(long idKurs, long idLehrkraft) throws DeveloperNotificationException
      Liefert die Lehrkraft des Kurses, welche die angegebene ID hat.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      idLehrkraft - Die Datenbank-ID der gesuchten Lehrkraft.
      Gibt zurück:
      Die Lehrkraft des Kurses, welche die angegebene ID hat.
      Löst aus:
      DeveloperNotificationException - Falls es eine solche Lehrkraft nicht gibt.
    • kursGetLehrkraftMitNummerExists

      public boolean kursGetLehrkraftMitNummerExists(long idKurs, int reihenfolgeNr) throws DeveloperNotificationException
      Liefert TRUE, falls im Kurs die Lehrkraft mit der Nummer existiert.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      reihenfolgeNr - Die Lehrkraft mit der Nummer, die gesucht wird.
      Gibt zurück:
      TRUE, falls im Kurs die Lehrkraft mit der Nummer existiert.
      Löst aus:
      DeveloperNotificationException - Falls der Kurs nicht in der Blockung existiert.
    • kursGetLehrkraftMitIDExists

      public boolean kursGetLehrkraftMitIDExists(long idKurs, long idLehrkraft)
      Liefert TRUE, falls im Kurs die Lehrkraft mit der ID existiert.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      idLehrkraft - Die Datenbank-ID der gesuchten Lehrkraft.
      Gibt zurück:
      TRUE, falls im Kurs die Lehrkraft mit der ID existiert.
    • kursGetLehrkraefteSortiert

      @NotNull public @NotNull List<GostBlockungKursLehrer> kursGetLehrkraefteSortiert(long idKurs) throws DeveloperNotificationException
      Liefert alle Lehrkräfte eines Kurses sortiert nach GostBlockungKursLehrer.reihenfolge.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      alle Lehrkräfte eines Kurses sortiert nach GostBlockungKursLehrer.reihenfolge.
      Löst aus:
      DeveloperNotificationException - Falls der Kurs nicht in der Blockung existiert.
    • kursAddLehrkraft

      public void kursAddLehrkraft(long idKurs, @NotNull @NotNull GostBlockungKursLehrer neueLehrkraft) throws DeveloperNotificationException
      Fügt die übergebene Lehrkraft zum Kurs hinzu.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      neueLehrkraft - Das GostBlockungKursLehrer-Objekt.
      Löst aus:
      DeveloperNotificationException - falls der Kurs nicht existiert oder die Lehrkraft oder die ReihenfolgeNr bereits im Kurs existiert.
    • kursRemoveLehrkraft

      public void kursRemoveLehrkraft(long idKurs, long idAlteLehrkraft) throws DeveloperNotificationException
      Löscht aus dem übergebenen Kurs die angegebene Lehrkraft.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      idAlteLehrkraft - Die Datenbank-ID des GostBlockungKursLehrer-Objekt.
      Löst aus:
      DeveloperNotificationException - falls der Kurs nicht existiert oder es eine solche Lehrkraft im Kurs nicht gibt.
    • kursGetListeSortiertNachFachKursartNummer

      @NotNull public @NotNull List<GostBlockungKurs> kursGetListeSortiertNachFachKursartNummer()
      Liefert eine nach 'Fach, Kursart, Kursnummer' sortierte Kopie der Menge der Kurse.
      Gibt zurück:
      Eine nach 'Fach, Kursart, Kursnummer' sortierte Kopie der Menge der Kurse.
    • kursGetListeSortiertNachKursartFachNummer

      @NotNull public @NotNull List<GostBlockungKurs> kursGetListeSortiertNachKursartFachNummer()
      Liefert eine nach 'Kursart, Fach, Kursnummer' sortierte Kopie der Menge der Kurse.
      Gibt zurück:
      Eine nach 'Kursart, Fach, Kursnummer' sortierte Kopie der Menge der Kurse.
    • kursGetListeByFachUndKursart

      @NotNull public @NotNull List<GostBlockungKurs> kursGetListeByFachUndKursart(long idFach, int idKursart)
      Liefert eine nach Kursnummer sortiere Liste der Kurse für das angegebenen Fach und die angegebene Kursart.
      Parameter:
      idFach - die ID des Fachs
      idKursart - die ID der Kursart
      Gibt zurück:
      die sortiere Liste der Kurse für das Fach und die Kursart
    • kursGetIsRemoveAllowed

      public boolean kursGetIsRemoveAllowed(long idKurs) throws DeveloperNotificationException
      Liefert TRUE, falls ein Löschen des Kurses erlaubt ist.
      Kriterium: Der Kurs muss existieren und das aktuelle Ergebnis muss eine Vorlage sein.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      TRUE, falls ein Löschen des Kurses erlaubt ist.
      Löst aus:
      DeveloperNotificationException - Falls der Kurs nicht in der Blockung existiert.
    • kursGetIstVerbotenInSchiene

      public boolean kursGetIstVerbotenInSchiene(long idKurs, long idSchiene) throws DeveloperNotificationException
      Liefert TRUE, falls der Kurs aufgrund von Regeln in der angegebenen Schiene verboten ist.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      TRUE, falls der Kurs aufgrund von Regeln in der angegebenen Schiene verboten ist.
      Löst aus:
      DeveloperNotificationException - falls der Kurs oder die Schiene in der Blockung nicht existiert.
    • kursGetHatSperrungInSchiene

      public boolean kursGetHatSperrungInSchiene(long idKurs, long idSchiene) throws DeveloperNotificationException
      Liefert TRUE, falls der Kurs aufgrund der Regel GostKursblockungRegelTyp.KURS_SPERRE_IN_SCHIENE in der angegebenen Schiene gesperrt ist.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      TRUE, falls der Kurs aufgrund der Regel GostKursblockungRegelTyp.KURS_SPERRE_IN_SCHIENE in der angegebenen Schiene gesperrt ist.
      Löst aus:
      DeveloperNotificationException - falls die Schiene nicht existiert.
    • kursGetRegelGesperrtInSchiene

      @NotNull public @NotNull GostBlockungRegel kursGetRegelGesperrtInSchiene(long idKurs, long idSchiene) throws DeveloperNotificationException
      Liefert die Regel, welche den Kurs in einer Schiene gesperrt hat.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      die Regel, welche den Kurs in einer Schiene gesperrt hat.
      Löst aus:
      DeveloperNotificationException - falls die Schiene oder die Regel nicht existiert.
    • kursGetHatFixierungInSchiene

      public boolean kursGetHatFixierungInSchiene(long idKurs, long idSchiene) throws DeveloperNotificationException
      Liefert TRUE, falls der Kurs aufgrund der Regel GostKursblockungRegelTyp.KURS_FIXIERE_IN_SCHIENE in der angegebenen Schiene fixiert ist.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      TRUE, falls der Kurs aufgrund der Regel GostKursblockungRegelTyp.KURS_FIXIERE_IN_SCHIENE in der angegebenen Schiene fixiert ist.
      Löst aus:
      DeveloperNotificationException - falls die Schiene nicht existiert.
    • kursGetRegelFixierungInSchiene

      @NotNull public @NotNull GostBlockungRegel kursGetRegelFixierungInSchiene(long idKurs, long idSchiene) throws DeveloperNotificationException
      Liefert die Regel, welche den Kurs in einer Schiene fixiert hat.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      die Regel, welche den Kurs in einer Schiene fixiert hat.
      Löst aus:
      DeveloperNotificationException - falls die Schiene oder die Regel nicht existiert.
    • kursIstWeitereFixierungErlaubt

      public boolean kursIstWeitereFixierungErlaubt(long idKurs) throws DeveloperNotificationException
      Liefert TRUE, falls der Kurs nicht nicht vollständig fixiert ist.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      TRUE, falls der Kurs nicht nicht vollständig fixiert ist.
      Löst aus:
      DeveloperNotificationException - falls der Kurs nicht existiert.
    • kursGetRegelDummySchuelerOrNull

      public GostBlockungRegel kursGetRegelDummySchuelerOrNull(long idKurs)
      Liefert die Regel, welche die Anzahl der DummySuS eines Kurses definiert oder NULL.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Regel, welche die Anzahl der DummySuS eines Kurses definiert oder NULL.
    • kursmengeGetSetDerIDs

      @NotNull public @NotNull Set<Long> kursmengeGetSetDerIDs()
      Liefert ein Set aller Kurs-IDs.
      Gibt zurück:
      ein Set aller Kurs-IDs.
    • kurseRemoveByID

      public void kurseRemoveByID(@NotNull @NotNull Set<Long> idKurse) throws DeveloperNotificationException
      Entfernt alle Kurse mit den übergebenen IDs aus der Blockung.
      (1) Überprüft, ob es eine Blockungsvorlage ist und ob alle IDs existieren, sonst Exception.
      (2) Entfernt dann alle Kurse aus den Datenstrukturen.
      (3) Entfernt dann alle Regeln, die einen der Kurse tangieren.
      (4) Dann muss der Client den ErgebnisManager über die Löschung des Kurses informieren.
      Parameter:
      idKurse - Die Datenbank-IDs der zu entfernenden Kurse.
      Löst aus:
      DeveloperNotificationException - Falls der Kurs nicht existiert oder es sich nicht um eine Blockungsvorlage handelt.
    • kursRemoveByID

      public void kursRemoveByID(long idKurs) throws DeveloperNotificationException
      Entfernt den Kurs mit der übergebenen ID aus der Blockung.
      Parameter:
      idKurs - Die Datenbank-ID des zu entfernenden Kurses.
      Löst aus:
      DeveloperNotificationException - Falls der Kurs nicht in der Blockung existiert.
    • kursRemove

      public void kursRemove(@NotNull @NotNull GostBlockungKurs kurs) throws DeveloperNotificationException
      Entfernt den übergebenen Kurs aus der Blockung.
      Parameter:
      kurs - Der zu entfernende Kurs.
      Löst aus:
      DeveloperNotificationException - falls der Kurs nicht existiert.
    • kursMerge

      public void kursMerge(long idKursID1keep, long idKursID2delete) throws DeveloperNotificationException
      Kombiniert zwei Kurse zu einem Kurs. Die Regel GostKursblockungRegelTyp.KURS_MIT_DUMMY_SUS_AUFFUELLEN muss dabei ggf. auch kombiniert werden, wobei eine existierende Regel recycled wird.
      Parameter:
      idKursID1keep - Die Kurs-ID des Ziel-Kurses (wird nicht gelöscht).
      idKursID2delete - Die Kurs-ID des Quell-Kurses (wird gelöscht).
      Löst aus:
      DeveloperNotificationException - falls es keine Blockungsvorlage ist, oder die Kurse nicht existieren, oder die Kurse identisch sind.
    • kurseRemove

      public void kurseRemove(@NotNull @NotNull List<GostBlockungKurs> kurse) throws DeveloperNotificationException
      Entfernt alle GostBlockungKurs-Objekte.
      Parameter:
      kurse - Die zu entfernenden GostBlockungKurs-Objekte.
      Löst aus:
      DeveloperNotificationException - falls einer der Kurse nicht existiert oder es sich nicht um eine Blockungsvorlage handelt.
    • kursSetSuffix

      public void kursSetSuffix(long idKurs, @NotNull @NotNull String suffix) throws DeveloperNotificationException
      Setzt den Suffix des Kurses.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      suffix - Der neue Suffix des Kurses.
      Löst aus:
      DeveloperNotificationException - falls der Kurs nicht in der Blockung existiert.
    • schieneAdd

      public void schieneAdd(@NotNull @NotNull GostBlockungSchiene schiene) throws DeveloperNotificationException
      Fügt die übergebene Schiene zu der Blockung hinzu.
      : Wichtig: Beim Ergebnismanager müssen danach die Schienen auch hinzugefügt werden!
      Parameter:
      schiene - Die hinzuzufügende Schiene.
      Löst aus:
      DeveloperNotificationException - Falls die Schienen-Daten inkonsistent sind.
    • schieneAddListe

      public void schieneAddListe(@NotNull @NotNull List<GostBlockungSchiene> schienenmenge) throws DeveloperNotificationException
      Fügt die Menge an Schienen hinzu.
      : Wichtig: Beim Ergebnismanager müssen danach die Schienen auch hinzugefügt werden!
      Parameter:
      schienenmenge - Die Menge an Schienen.
      Löst aus:
      DeveloperNotificationException - Falls die Schienen-Daten inkonsistent sind.
    • schieneGet

      @NotNull public @NotNull GostBlockungSchiene schieneGet(long idSchiene) throws DeveloperNotificationException
      Gibt die Schiene der Blockung anhand von deren ID zurück.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      Das zugehörige GostBlockungSchiene Objekt.
      Löst aus:
      DeveloperNotificationException - Falls die Schiene nicht in der Blockung existiert.
    • schieneGetExistiert

      public boolean schieneGetExistiert(long idSchiene)
      Liefert TRUE, falls eine Schiene mit der übergebenen ID existiert.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      Gibt zurück:
      TRUE, falls eine Schiene mit der übergebenen ID existiert.
    • schieneGetListe

      @NotNull public @NotNull List<GostBlockungSchiene> schieneGetListe()
      Liefert die aktuelle Menge aller Schienen sortiert nach der Schienen-Nummer.
      Gibt zurück:
      Die aktuelle Menge aller Schienen sortiert nach der Schienen-Nummer.
    • schieneGetIsRemoveAllowed

      public boolean schieneGetIsRemoveAllowed(long idSchiene) throws DeveloperNotificationException
      Liefert TRUE, falls ein Löschen der Schiene erlaubt ist.
      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 ID der Schiene nicht existiert.
    • schienePatchBezeichnung

      public void schienePatchBezeichnung(long idSchiene, @NotNull @NotNull String bezeichnung) throws DeveloperNotificationException
      Ändert das Attribut GostBlockungSchiene.bezeichnung der Schiene mit der jeweiligen ID.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      bezeichnung - Die neue Bezeichnung.
      Löst aus:
      DeveloperNotificationException - Falls die ID der Schiene nicht existiert.
    • schienePatchWochenstunden

      public void schienePatchWochenstunden(long idSchiene, int wochenstunden)
      Ändert das Attribut GostBlockungSchiene.wochenstunden der Schiene mit der jeweiligen ID.
      Parameter:
      idSchiene - Die Datenbank-ID der Schiene.
      wochenstunden - Die neuen Wochenstunden.
    • schieneRemoveByID

      public void schieneRemoveByID(long idSchiene) throws DeveloperNotificationException
      Entfernt die Schiene mit der übergebenen ID aus der Blockung. Konsequenz:
      (1) Das Löschen der Schiene muss erlaubt sein und die Schiene muss existieren, sonst Exception.
      (2) Die Schiene wird entfernt und Schienen mit größerer Nr. werden um 1 reduziert.
      (3) Die Regeln müssen bei Schienen-Nummern angepasst werden.
      Parameter:
      idSchiene - Die Datenbank-ID der zu entfernenden Schiene.
      Löst aus:
      DeveloperNotificationException - Falls die Schiene nicht existiert oder ein Löschen nicht erlaubt ist.
    • schieneRemove

      public void schieneRemove(@NotNull @NotNull GostBlockungSchiene schiene) throws DeveloperNotificationException
      Entfernt die übergebene Schiene aus der Blockung.
      Hinweis: Es muss nicht dasselbe Objekt sein, nur die ID muss übereinstimmen.
      Parameter:
      schiene - Die zu entfernende Schiene.
      Löst aus:
      DeveloperNotificationException - Falls die Schiene nicht existiert oder ein Löschen nicht erlaubt ist.
    • schieneGetAnzahl

      public int schieneGetAnzahl()
      Liefert die Anzahl an Schienen.
      Gibt zurück:
      Die Anzahl an Schienen.
    • schieneGetDefaultAnzahl

      public static int schieneGetDefaultAnzahl(@NotNull @NotNull GostHalbjahr halbjahr)
      Liefert die Default-Anzahl an Schienen zurück, die für eine neue Blockung verwendet wird.
      Parameter:
      halbjahr - Das Halbjahr, für welches die Blockung angelegt werden soll.
      Gibt zurück:
      Die Default-Anzahl an Schienen zurück, die für eine neue Blockung verwendet wird.
    • regelAdd

      public void regelAdd(@NotNull @NotNull GostBlockungRegel regel) throws DeveloperNotificationException
      Fügt die übergebene Regel zu der Blockung hinzu.
      Parameter:
      regel - Die hinzuzufügende Regel
      Löst aus:
      DeveloperNotificationException - Falls die Daten der Regel inkonsistent sind.
    • regelAddListe

      public void regelAddListe(@NotNull @NotNull List<GostBlockungRegel> regelmenge) throws DeveloperNotificationException
      Fügt eine Menge an Regeln hinzu.
      Parameter:
      regelmenge - Die Menge an Regeln.
      Löst aus:
      DeveloperNotificationException - Falls die Daten der Regeln inkonsistent sind.
    • regelGetAnzahl

      public int regelGetAnzahl()
      Liefert die Anzahl an Regeln.
      Gibt zurück:
      Die Anzahl an Regeln.
    • regelGet

      @NotNull public @NotNull GostBlockungRegel regelGet(long idRegel) throws DeveloperNotificationException
      Gibt die Regel der Blockung anhand von deren ID zurück.
      Parameter:
      idRegel - Die Datenbank-ID der Regel.
      Gibt zurück:
      Das GostBlockungRegel Objekt.
      Löst aus:
      DeveloperNotificationException - Falls die Regel nicht in der Blockung existiert.
    • regelGetByLongArrayKeyOrNull

      public GostBlockungRegel regelGetByLongArrayKeyOrNull(@NotNull @NotNull LongArrayKey key)
      Liefert die GostBlockungRegel anhand des LongArrayKey-Schlüssels, oder NULL falls keine existiert.
      Parameter:
      key - Der LongArrayKey-Schlüssel.
      Gibt zurück:
      die GostBlockungRegel anhand des LongArrayKey-Schlüssels, oder NULL falls keine existiert.
    • regelGetListe

      @NotNull public @NotNull List<GostBlockungRegel> regelGetListe()
      Liefert die aktuelle Menge aller Regeln. Das ist die interne Referenz zur Liste der Regeln im GostBlockungsdaten-Objekt. Diese Liste ist stets sortiert nach (TYP, ID).
      Gibt zurück:
      Die aktuelle Menge aller Regeln sortiert nach (TYP, id).
    • regelGetListeOfTyp

      @NotNull public @NotNull List<GostBlockungRegel> regelGetListeOfTyp(@NotNull @NotNull GostKursblockungRegelTyp typ)
      Liefert die aktuelle Menge aller Regeln eines bestimmten GostKursblockungRegelTyp.
      Parameter:
      typ - Der GostKursblockungRegelTyp.
      Gibt zurück:
      die aktuelle Menge aller Regeln eines bestimmten GostKursblockungRegelTyp.
    • regelGetListeToggleSperrung

      @Deprecated(forRemoval=true) @NotNull public @NotNull List<GostBlockungRegel> regelGetListeToggleSperrung(@NotNull @NotNull List<GostBlockungKurs> list, @NotNull @NotNull GostBlockungKurs kursA, @NotNull @NotNull GostBlockungKurs kursB, @NotNull @NotNull GostBlockungSchiene schieneA, @NotNull @NotNull GostBlockungSchiene schieneB)
      Veraltet, zur Entfernung: Dieses API-Element wird in einer zukünftigen Version entfernt.
      Die Methode ist in den Ergebnismanager gewandert.
      Liefert eine Liste von Regeln, welche den Status der Kurs-Schienen-Sperrung in einem Auswahl-Rechteck ändern soll.
      Hinweis: Die Regeln sind vom Typ GostKursblockungRegelTyp.KURS_SPERRE_IN_SCHIENE. Eine negative ID steht symbolisch für eine Regel, die noch nicht existiert, andernfalls erhält man eine existierende Regel. Die GUI kann selbst entscheiden, wie sie mit den Regeln umgeht (toggle, create, delete).
      Parameter:
      list - Die aktuelle sortierte Liste der GUI.
      kursA - Der erste oder der letzte Kurs der Auswahl.
      kursB - Der erste oder der letzte Kurs der Auswahl.
      schieneA - Die erste oder letzte Schiene der Auswahl.
      schieneB - Die erste oder letzte Schiene der Auswahl.
      Gibt zurück:
      eine Liste von Regeln, welche den Status der Kurs-Schienen-Sperrung in einem Auswahl-Rechteck ändern soll.
    • regelGetRegelOrDummyKursGesperrtInSchiene

      @NotNull public @NotNull GostBlockungRegel regelGetRegelOrDummyKursGesperrtInSchiene(long idKurs, int nrSchiene)
      Liefert die Regel, welche den Kurs in einer Schiene sperrt, oder die Dummy-Regel (ID negativ), falls die Regel nicht existiert.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      nrSchiene - Die Nummer der Schiene.
      Gibt zurück:
      die Regel, welche den Kurs in einer Schiene sperrt, oder die Dummy-Regel (ID negativ), falls die Regel nicht existiert.
    • regelGetRegelOrDummyKursFixierungInSchiene

      @NotNull public @NotNull GostBlockungRegel regelGetRegelOrDummyKursFixierungInSchiene(long idKurs, int nrSchiene)
      Liefert die Regel, welche den Kurs in einer Schiene fixiert, oder die Dummy-Regel (ID negativ), falls die Regel nicht existiert.
      Parameter:
      idKurs - Die Datenbank-ID des Kurses.
      nrSchiene - Die Nummer der Schiene.
      Gibt zurück:
      die Regel, welche den Kurs in einer Schiene fixiert, oder die Dummy-Regel (ID negativ), falls die Regel nicht existiert.
    • regelGetRegelOrDummySchuelerInKursFixierung

      @NotNull public @NotNull GostBlockungRegel regelGetRegelOrDummySchuelerInKursFixierung(long idSchueler, long idKurs)
      Liefert die Regel, welche den Schüler in einem Kurs fixiert, oder die Dummy-Regel (ID negativ), falls die Regel nicht existiert.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Regel, welche den Schüler in einem Kurs fixiert, oder die Dummy-Regel (ID negativ), falls die Regel nicht existiert.
    • regelGetExistiert

      public boolean regelGetExistiert(long idRegel)
      Liefert TRUE, falls die Regel mit der übergebenen ID existiert.
      Parameter:
      idRegel - Die Datenbank-ID der Regel.
      Gibt zurück:
      TRUE, falls die Regel mit der übergebenen ID existiert.
    • regelGetIsRemoveAllowed

      public boolean regelGetIsRemoveAllowed(long idRegel) throws DeveloperNotificationException
      Liefert TRUE, falls ein Löschen der Regel erlaubt ist.
      Kriterium: Die Regel muss existieren.
      Parameter:
      idRegel - Die Datenbank-ID der Regel.
      Gibt zurück:
      TRUE, falls ein Löschen der Regel erlaubt ist.
      Löst aus:
      DeveloperNotificationException - Falls die Regel nicht existiert.
    • regelRemoveByID

      public void regelRemoveByID(long idRegel) throws DeveloperNotificationException
      Entfernt die Regel mit der übergebenen ID aus der Blockung.
      Parameter:
      idRegel - Die Datenbank-ID der zu entfernenden Regel.
      Löst aus:
      DeveloperNotificationException - Falls die Regel nicht existiert.
    • regelRemoveListe

      public void regelRemoveListe(@NotNull @NotNull List<GostBlockungRegel> regelmenge) throws DeveloperNotificationException
      Entfernt eine Menge von Regeln.
      Parameter:
      regelmenge - Die Menge an Regeln, die entfernt werden soll.
      Löst aus:
      DeveloperNotificationException - Falls die Daten der Regeln inkonsistent sind.
    • regelRemoveListeByIDs

      public void regelRemoveListeByIDs(@NotNull @NotNull Set<Long> regelmenge) throws DeveloperNotificationException
      Löscht eines Regelmenge anhand ihrer IDs.
      Parameter:
      regelmenge - Die Menge der IDs der Regeln.
      Löst aus:
      DeveloperNotificationException - falls die Regel nicht gefunden wird.
    • regelRemove

      public void regelRemove(@NotNull @NotNull GostBlockungRegel regel) throws DeveloperNotificationException, UserNotificationException
      Entfernt die übergebene Regel aus der Blockung.
      Parameter:
      regel - Die zu entfernende Regel
      Löst aus:
      DeveloperNotificationException - Falls die Regel nicht existiert.
      UserNotificationException - Falls es sich nicht um eine Blockungsvorlage handelt.
    • fachGetMengeKursarten

      @NotNull public @NotNull List<GostKursart> fachGetMengeKursarten(long idFach)
      Liefert die Menge aller Kursarten des Faches, welche in Kursen oder Fachwahlen vorkommen.
      Parameter:
      idFach - Die Datenbank-ID des Faches.
      Gibt zurück:
      die Menge aller Kursarten des Faches, welche in Kursen oder Fachwahlen vorkommen.
    • fachwahlAdd

      public void fachwahlAdd(@NotNull @NotNull GostFachwahl fachwahl) throws DeveloperNotificationException
      Fügt eine Fachwahl hinzu.
      Wirft eine Exception, falls die Fachwahl-Daten inkonsistent sind.
      Parameter:
      fachwahl - Die Fachwahl, die hinzugefügt wird.
      Löst aus:
      DeveloperNotificationException - Falls die Fachwahl-Daten inkonsistent sind.
    • fachwahlAddListe

      public void fachwahlAddListe(@NotNull @NotNull List<GostFachwahl> fachwahlmenge) throws DeveloperNotificationException
      Fügt alle Fachwahlen hinzu.
      Parameter:
      fachwahlmenge - Die Menge an Fachwahlen.
      Löst aus:
      DeveloperNotificationException - Falls die Fachwahl-Daten inkonsistent sind.
    • fachwahlGetAnzahl

      public int fachwahlGetAnzahl()
      Liefert die Anzahl an Fachwahlen.
      Gibt zurück:
      Die Anzahl an Fachwahlen.
    • fachwahlGetName

      @NotNull public @NotNull String fachwahlGetName(@NotNull @NotNull GostFachwahl fachwahl) throws DeveloperNotificationException
      Liefert den Namen (Fach-Kursart) der Fachwahl, beispielsweise 'M-GK'.
      Parameter:
      fachwahl - Das Fachwahl-Objekt.
      Gibt zurück:
      den Namen (Fach-Kursart) der Fachwahl, beispielsweise 'M-GK'.
      Löst aus:
      DeveloperNotificationException - Falls ein Fach mit der ID nicht bekannt ist.
    • fachwahlGetListeOfFachart

      @NotNull public @NotNull List<GostFachwahl> fachwahlGetListeOfFachart(long idFachart)
      Liefert die Menge aller GostFachwahl einer bestimmten Fachart-ID.
      Die Fachart-ID lässt sich mit GostKursart.getFachartID(long, int) berechnen.
      Parameter:
      idFachart - Die Fachart-ID berechnet aus Fach-ID und Kursart-ID.
      Gibt zurück:
      Die Menge aller GostFachwahl einer bestimmten Fachart-ID.
    • fachwahlGetAnzahlVerwendeterKursarten

      public int fachwahlGetAnzahlVerwendeterKursarten()
      Liefert die Anzahl verschiedenen Kursarten. Dies passiert indem über alle Fachwahlen summiert wird.
      Gibt zurück:
      Die Anzahl verschiedenen Kursarten.
    • schuelerAdd

      public void schuelerAdd(@NotNull @NotNull Schueler schueler) throws DeveloperNotificationException
      Fügt einen Schüler hinzu.
      Wirft eine Exception, falls die Schüler Daten inkonsistent sind.
      Parameter:
      schueler - Der Schüler, der hinzugefügt wird.
      Löst aus:
      DeveloperNotificationException - Falls die Schüler Daten inkonsistent sind.
    • schuelerAddListe

      public void schuelerAddListe(@NotNull @NotNull List<Schueler> schuelermenge) throws DeveloperNotificationException
      Fügt alle Schüler hinzu.
      Parameter:
      schuelermenge - Die Menge an Schülern.
      Löst aus:
      DeveloperNotificationException - Falls die Schüler Daten inkonsistent sind.
    • schuelerGetAnzahlMitMindestensEinerFachwahl

      public int schuelerGetAnzahlMitMindestensEinerFachwahl()
      Liefert die Anzahl an Schülern, die mindestens eine Fachwahl haben.
      Gibt zurück:
      die Anzahl an Schülern, die mindestens eine Fachwahl haben.
    • schuelerGetAnzahl

      public int schuelerGetAnzahl()
      Liefert die Anzahl an Schülern.
      Gibt zurück:
      Die Anzahl an Schülern.
    • schuelerGet

      @NotNull public @NotNull Schueler schuelerGet(long idSchueler) throws DeveloperNotificationException
      Ermittelt den Schüler für die angegebene ID.
      Wirft eine DeveloperNotificationException, falls die Schüler-ID unbekannt ist.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      Gibt zurück:
      Das zugehörige Schueler-Objekt.
      Löst aus:
      DeveloperNotificationException - Falls die Schüler-ID unbekannt ist.
    • schuelerGetOrNull

      public Schueler schuelerGetOrNull(long idSchueler)
      Ermittelt den Schüler für die angegebene ID.
      Gibt null zurück, falls die Schüler-ID unbekannt ist.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      Gibt zurück:
      Das zugehörige Schueler-Objekt oder null
    • schuelerGetListe

      @NotNull public @NotNull List<Schueler> schuelerGetListe()
      Liefert die aktuelle Menge aller Schüler. Das ist die interne Referenz zur Liste der Schüler im GostBlockungsdaten-Objekt.
      Gibt zurück:
      Die aktuelle Menge aller Schüler.
    • schuelerGetOfFachKursart

      @NotNull public @NotNull GostKursart schuelerGetOfFachKursart(long idSchueler, long idFach) throws DeveloperNotificationException
      Liefert zum Tupel (Schüler, Fach) die jeweilige Kursart.
      Wirft eine Exception, falls der Schüler das Fach nicht gewählt hat.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idFach - Die Datenbank-ID des Faches.
      Gibt zurück:
      Zum Tupel (Schüler, Fach) jeweilige GostKursart.
      Löst aus:
      DeveloperNotificationException - Falls der Schüler das Fach nicht gewählt hat.
    • schuelerGetOfFachFachwahl

      @NotNull public @NotNull GostFachwahl schuelerGetOfFachFachwahl(long idSchueler, long idFach) throws DeveloperNotificationException
      Liefert zum Tupel (Schüler, Fach) die jeweilige Fachwahl.
      Wirft eine Exception, falls der Schüler das Fach nicht gewählt hat.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idFach - Die Datenbank-ID des Faches.
      Gibt zurück:
      Zum Tupel (Schüler, Fach) jeweilige GostFachwahl.
      Löst aus:
      DeveloperNotificationException - Falls der Schüler das Fach nicht gewählt hat.
    • schuelerGetOfFachFachwahlOrNull

      public GostFachwahl schuelerGetOfFachFachwahlOrNull(long idSchueler, long idFach)
      Liefert zum Tupel (Schüler, Fach) die jeweilige Fachwahl.
      Gibt null zurück, falls der Schüler das Fach nicht gewählt hat.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idFach - Die Datenbank-ID des Faches.
      Gibt zurück:
      Zum Tupel (Schüler, Fach) jeweilige GostFachwahl oder null.
    • schuelerGetHatFach

      public boolean schuelerGetHatFach(long idSchueler, long idFach) throws DeveloperNotificationException
      Liefert TRUE, falls der übergebene Schüler das entsprechende Fach gewählt hat.
      Parameter:
      idSchueler - Die Datenbank.ID des Schülers.
      idFach - Die Datenbank-ID des Faches der Fachwahl des Schülers.
      Gibt zurück:
      TRUE, falls der übergebene Schüler das entsprechende Fach gewählt hat.
      Löst aus:
      DeveloperNotificationException - Falls die Schüler-ID unbekannt ist.
    • schuelerGetHatDieSelbeKursartMitSchuelerInFach

      public boolean schuelerGetHatDieSelbeKursartMitSchuelerInFach(long idSchueler1, long idSchueler2, long idFach)
      Liefert TRUE, falls beide Schüler bezogen auf das Fach die selbe Kursart haben oder eine Exception, falls zum Fach keine Fachwahl existiert.
      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 bezogen auf das Fach die selbe Kursart haben oder eine Exception, falls zum Fach keine Fachwahl existiert.
    • schuelerGetHatFachart

      public boolean schuelerGetHatFachart(long idSchueler, long idFach, int idKursart) throws DeveloperNotificationException
      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 Datenbank-ID der Kursart der Fachwahl des Schülers.
      Gibt zurück:
      TRUE, falls der übergebene Schüler die entsprechende Fachwahl=Fach+Kursart hat.
      Löst aus:
      DeveloperNotificationException - Falls die Schüler-ID unbekannt ist.
    • schuelerGetListeOfFachwahlen

      @NotNull public @NotNull List<GostFachwahl> schuelerGetListeOfFachwahlen(long pSchuelerID) throws DeveloperNotificationException
      Liefert die Menge aller GostFachwahl des Schülers.
      Parameter:
      pSchuelerID - Die Datenbank-ID des Schülers.
      Gibt zurück:
      Die Menge aller GostFachwahl des Schülers.
      Löst aus:
      DeveloperNotificationException - Falls die Schüler-ID unbekannt ist.
    • schuelerGetFachListeGemeinsamerFacharten

      @NotNull public @NotNull List<GostFach> schuelerGetFachListeGemeinsamerFacharten(long idSchueler1, long idSchueler2)
      Liefert eine Liste der gemeinsamen Fächer (auch in der Kursart übereinstimmend) beider Schüler.
      Parameter:
      idSchueler1 - Die Datenbank-ID des 1. Schülers.
      idSchueler2 - Die Datenbank-ID des 2. Schülers.
      Gibt zurück:
      eine Liste der gemeinsamen Fächer (auch in der Kursart übereinstimmend) beider Schüler.
    • schuelerGetIstVerbotenInKurs

      public boolean schuelerGetIstVerbotenInKurs(long idSchueler, long idKurs) throws DeveloperNotificationException
      Liefert TRUE, falls der Schüler aufgrund der Regel GostKursblockungRegelTyp.SCHUELER_VERBIETEN_IN_KURS im angegebenen Kurs verboten ist.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      TRUE, falls der Schüler aufgrund der Regel GostKursblockungRegelTyp.SCHUELER_VERBIETEN_IN_KURS im angegebenen Kurs verboten ist.
      Löst aus:
      DeveloperNotificationException - falls der Schüler oder der Kurs in der Blockung nicht existiert.
    • schuelerGetRegelVerbotenInKurs

      @NotNull public @NotNull GostBlockungRegel schuelerGetRegelVerbotenInKurs(long idSchueler, long idKurs) throws DeveloperNotificationException
      Liefert die Regel, welche den Schüler in einem Kurs verbietet.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Regel, welche den Schüler in einem Kurs verbietet.
      Löst aus:
      DeveloperNotificationException - falls der Schüler oder der Kurs in der Blockung nicht existiert.
    • schuelerGetIstFixiertInKurs

      public boolean schuelerGetIstFixiertInKurs(long idSchueler, long idKurs) throws DeveloperNotificationException
      Liefert TRUE, falls der Schüler aufgrund der Regel GostKursblockungRegelTyp.SCHUELER_FIXIEREN_IN_KURS im angegebenen Kurs fixiert ist.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      TRUE, falls der Schüler aufgrund der Regel GostKursblockungRegelTyp.SCHUELER_FIXIEREN_IN_KURS im angegebenen Kurs fixiert ist.
      Löst aus:
      DeveloperNotificationException - falls der Schüler oder der Kurs in der Blockung nicht existiert.
    • schuelerGetRegelFixiertInKurs

      @NotNull public @NotNull GostBlockungRegel schuelerGetRegelFixiertInKurs(long idSchueler, long idKurs) throws DeveloperNotificationException
      Liefert die Regel, welche den Schüler in einem Kurs fixiert.
      Parameter:
      idSchueler - Die Datenbank-ID des Schülers.
      idKurs - Die Datenbank-ID des Kurses.
      Gibt zurück:
      die Regel, welche den Schüler in einem Kurs fixiert.
      Löst aus:
      DeveloperNotificationException - falls der Schüler oder der Kurs in der Blockung nicht existiert.
    • getID

      public long getID()
      Gibt die ID der Blockung zurück.
      Gibt zurück:
      die ID der Blockung
    • setID

      public void setID(long idNeu) throws DeveloperNotificationException
      Setzt die ID dieser Blockung.
      Parameter:
      idNeu - Die Datenbank-ID, welche der Blockung zugewiesen wird.
      Löst aus:
      DeveloperNotificationException - Falls die übergebene ID ungültig ist.
    • getMaxTimeMillis

      public long getMaxTimeMillis()
      Liefert die maximale Blockungszeit in Millisekunden.
      Gibt zurück:
      Die maximale Blockungszeit in Millisekunden.
    • setMaxTimeMillis

      public void setMaxTimeMillis(long pZeit)
      Setzt die maximale Blockungszeit in Millisekunden.
      Parameter:
      pZeit - die maximale Blockungszeit in Millisekunden.
    • getName

      @NotNull public @NotNull String getName()
      Gibt den Namen der Blockung zurück.
      Gibt zurück:
      der Name der Blockung
    • setName

      public void setName(@NotNull @NotNull String pName) throws UserNotificationException
      Setzt den Namen der Blockung
      Parameter:
      pName - der Name, welcher der Blockung zugewiesen wird.
      Löst aus:
      UserNotificationException - Falls der übergebene String leer ist.
    • getHalbjahr

      @NotNull public @NotNull GostHalbjahr getHalbjahr()
      Gibt das Halbjahr der gymnasialen Oberstufe zurück, für welches die Blockung angelegt wurde.
      Gibt zurück:
      das Halbjahr der gymnasialen Oberstufe
    • setHalbjahr

      public void setHalbjahr(@NotNull @NotNull GostHalbjahr pHalbjahr)
      Setzt das Halbjahr der gymnasialen Oberstufe, für welches die Blockung angelegt wurde.
      Parameter:
      pHalbjahr - das Halbjahr der gymnasialen Oberstufe
    • getIstBlockungsVorlage

      public boolean getIstBlockungsVorlage()
      Liefert TRUE, falls in dieser Blockung genau 1 Ergebnis (die Blockungsvorlage) vorhanden ist.
      Gibt zurück:
      TRUE, falls in dieser Blockung genau 1 Ergebnis (die Blockungsvorlage) vorhanden ist.
    • getFaecherAnzahl

      public int getFaecherAnzahl()
      Liefert die Anzahl an Fächern.
      Gibt zurück:
      Die Anzahl an Fächern.
    • faecherManager

      @NotNull public @NotNull GostFaecherManager faecherManager()
      Gibt den Fächer-Manager zurück, der für die Blockungsdaten verwendet wird.
      Gibt zurück:
      der Fächer-Manager (siehe GostFaecherManager)
    • daten

      @NotNull public @NotNull GostBlockungsdaten daten()
      Gibt die Blockungsdaten zurück.
      Gibt zurück:
      die Blockungsdaten (siehe GostBlockungsdaten)
    • getComparatorKurs_kursart_fach_kursnummer

      @NotNull public @NotNull Comparator<GostBlockungKurs> getComparatorKurs_kursart_fach_kursnummer()
      Liefert den Kurs-Comparator der nach (KURSART, FACH, KURSNUMMER) sortiert.
      Gibt zurück:
      den Kurs-Comparator der nach (KURSART, FACH, KURSNUMMER) sortiert.
    • getComparatorKurs_fach_kursart_kursnummer

      @NotNull public @NotNull Comparator<GostBlockungKurs> getComparatorKurs_fach_kursart_kursnummer()
      Liefert den Kurs-Comparator der nach (FACH, KURSART, KURSNUMMER) sortiert.
      Gibt zurück:
      den Kurs-Comparator der nach (FACH, KURSART, KURSNUMMER) sortiert.
    • getDebugString

      @NotNull public @NotNull String getDebugString()
      Liefert eine String-Representation vieler Daten.
      Gibt zurück:
      eine String-Representation vieler Daten.