Klasse AbiturdatenManager

java.lang.Object
de.svws_nrw.core.abschluss.gost.AbiturdatenManager

public class AbiturdatenManager extends Object
Diese Klasse stellt Methoden zur Verfügung um die angegebenen Abiturdaten zu bearbeiten und Auswertungen durchzuführen.
  • Konstruktordetails

    • AbiturdatenManager

      public AbiturdatenManager(@NotNull @NotNull Abiturdaten abidaten, GostJahrgangsdaten gostJahrgang, @NotNull @NotNull GostFaecherManager faecherManager, @NotNull @NotNull GostBelegpruefungsArt pruefungsArt)
      Erstellt ein neues Manager-Objekt, welches mit den übergebenen Abiturdaten verknüpft wird.
      Parameter:
      abidaten - die Abiturdaten
      gostJahrgang - die Informationen zu dem Abiturjahrgang
      faecherManager - der Manager für die Fächer und Fachkombinationen der Gymnasialen Oberstufe
      pruefungsArt - die Art der Belegpruefung (z.B. EF1 oder GESAMT)
  • Methodendetails

    • getPruefungen

      @NotNull public @NotNull List<GostBelegpruefung> getPruefungen(@NotNull @NotNull GostBelegpruefungsArt pruefungsArt)
      Führt die Belegprüfung der Art pruefungs_art für einen Schüler durch, dessen Abiturdaten mit dem angegebenen Manager verwaltet werden.
      Parameter:
      pruefungsArt - die Art der Prüfung, die durchgeführt wird
      Gibt zurück:
      eine Liste mit den durchgefuehrten Belegpruefungen
    • init

      public void init()
      Initialisiert bzw. reinitialisert die Datenstrukturen, die für den schnellen Zugriff auf die Daten eingerichtet werden.
    • faecher

      @NotNull public @NotNull GostFaecherManager faecher()
      Gibt den zugehörigen Fächer-Manager zurück.
      Gibt zurück:
      der Fächer-Manager
    • getPruefungsArt

      @NotNull public @NotNull GostBelegpruefungsArt getPruefungsArt()
      gibt die gewählte Prüfungsart zurück
      Gibt zurück:
      entweder Gesamtprüfung oder EF1-Prüfung
    • istBewertet

      public boolean istBewertet(@NotNull @NotNull GostHalbjahr halbjahr)
      Gibt zurück, ob das angegebene Halbjahr bereits bewertet ist oder nicht.
      Parameter:
      halbjahr - das Halbjahr
      Gibt zurück:
      true, falls es bereits bewertet ist
    • getSprachendaten

      @NotNull public @NotNull Sprachendaten getSprachendaten()
      Liefert die in den Abiturdaten enthaltenen Sprachendaten.
      Gibt zurück:
      Die Sprachendaten (siehe Sprachendaten)
    • getAbiturjahr

      public int getAbiturjahr()
      Liefert das Abiturjahr
      Gibt zurück:
      das Abiturjahr
    • getSchuljahr

      public int getSchuljahr()
      Liefert das Schuljahr, in dem das Abitur gemacht wird
      Gibt zurück:
      das Schuljahr
    • istNullPunkteBelegungInQPhase

      public static boolean istNullPunkteBelegungInQPhase(@NotNull @NotNull AbiturFachbelegungHalbjahr halbjahresbelegung)
      Gibt zurück, ob es sich bei der Halbjahresbelegung um eine Belegung handelt, welche mit null Punkten abgeschlossen wurde und welche daher als nicht belegter Kurs zu werten ist.
      Parameter:
      halbjahresbelegung - die Halbjahresbelegung eines Kurses
      Gibt zurück:
      true, fall es sich um einen Null-Punkte-Kurs in der Qualifikationsphase handelt.
    • getSchuelerFachwahl

      @NotNull public @NotNull GostSchuelerFachwahl getSchuelerFachwahl(long fachID)
      Bestimmt die Schüler-Fachwahl für das Fach mit der übergebenen ID
      Parameter:
      fachID - die ID des Faches
      Gibt zurück:
      die Schüler-Fachwahl
    • getSchuelerFachwahlen

      @NotNull public @NotNull Map<Long,GostSchuelerFachwahl> getSchuelerFachwahlen()
      Bestimmt die Schüler-Fachwahlen aller belegten Fächer.
      Gibt zurück:
      die Map mit den Schüler-Fachwahlen
    • getFach

      public GostFach getFach(AbiturFachbelegung belegung)
      Liefert das Fach der gymnasialen Oberstufe für die angegeben Abiturfachbelegung.
      Parameter:
      belegung - die Fachbelegung (siehe AbiturFachbelegung)
      Gibt zurück:
      das Fach der gymnasialen Oberstufe (siehe GostFach)
    • pruefeBelegung

      public boolean pruefeBelegung(AbiturFachbelegung fachbelegung, @NotNull @NotNull GostHalbjahr... halbjahre)
      Prüft, ob das Fach in allen angegebenen Halbjahren belegt wurde. Ist die Fachbelegung null, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung erfolgreich, da kein Halbjahr geprüft werden muss.
      Parameter:
      fachbelegung - die zu prüfende Fachbelegung
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls das Fach in den Halbjahren belegt wurde, sonst false
    • zaehleBelegung

      public int zaehleBelegung(AbiturFachbelegung fachbelegung)
      Bestimmt die Anzahl der Fachbelegungen, die dem Fach zugeordnet sind. Wird keine gültige Fachbelegung übergeben, so wird 0 zurückgegeben.
      Parameter:
      fachbelegung - die Fachbelegung
      Gibt zurück:
      die Anzahl der Belegungen des Faches
    • zaehleBelegungInHalbjahren

      public int zaehleBelegungInHalbjahren(List<AbiturFachbelegung> fachbelegungen, @NotNull @NotNull GostHalbjahr... halbjahre)
      Zählt die Anzahl der Belegungen für die angegebenen Fachbelegungen in den angegeben Halbjahren. Ist die Fachbelegung null, so wird 0 zurückgegeben. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so wird ebenfalls 0 zurückgegeben.
      Parameter:
      fachbelegungen - die Fachbelegungen
      halbjahre - die Halbjahre
      Gibt zurück:
      die Anzahl der Belegungen in den Halbjahren und den Fächern
    • pruefeBelegungMitKursart

      public boolean pruefeBelegungMitKursart(AbiturFachbelegung fachbelegung, @NotNull @NotNull GostKursart kursart, @NotNull @NotNull GostHalbjahr... halbjahre)
      Prüft, ob die Belegung des Faches in den angegebenen Halbjahren der angegebenen Kursart entspricht. Ist die Fachbelegung null, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung erfolgreich, da kein Halbjahr geprüft werden muss.
      Parameter:
      fachbelegung - die zu prüfende Fachnbelegung
      kursart - die zu prüfende Kursart
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls die Schriftlichkeit in den Halbjahren gegeben ist, sonst false
    • pruefeBelegungExistiertMitKursart

      public boolean pruefeBelegungExistiertMitKursart(List<AbiturFachbelegung> fachbelegungen, @NotNull @NotNull GostKursart kursart, @NotNull @NotNull GostHalbjahr... halbjahre)
      Prüft, ob eine Fachbelegung existiert, welche in den angegebenen Halbjahren der angegebenen Kursart entspricht. Ist keine Fachbelegung angegeben, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung erfolgreich, da kein Halbjahr geprüft werden muss.
      Parameter:
      fachbelegungen - die zu prüfenden Fachnbelegungen
      kursart - die zu prüfende Kursart
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls die Schriftlichkeit in den Halbjahren gegeben ist, sonst false
    • pruefeBelegungHatMindestensEinmalKursart

      public boolean pruefeBelegungHatMindestensEinmalKursart(AbiturFachbelegung fachbelegung, @NotNull @NotNull GostKursart kursart, @NotNull @NotNull GostHalbjahr... halbjahre)
      Prüft, ob die Belegung des Faches in den angegebenen Halbjahren mindestens einmal die angegebenen Kursart hat. Ist die Fachbelegung null, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung nicht erfolgreich, da kein Halbjahr geprüft werden muss und somit die Kursart nicht einmal existiert.
      Parameter:
      fachbelegung - die zu prüfende Fachnbelegung
      kursart - die zu prüfende Kursart
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls die Kursart mindestens einmal in den Halbjahren gegeben ist, sonst false
    • pruefeBelegungMitSchriftlichkeitEinzeln

      public boolean pruefeBelegungMitSchriftlichkeitEinzeln(AbiturFachbelegung fachbelegung, @NotNull @NotNull GostSchriftlichkeit schriftlichkeit, @NotNull @NotNull GostHalbjahr halbjahr)
      Prüft, ob die Belegung des Faches in dem angegebenen Halbjahr der angegebenen Schriftlichkeit entspricht. Ist die Fachbelegung null, so schlägt die Prüfung fehl.
      Parameter:
      fachbelegung - die zu prüfende Fachnbelegung
      schriftlichkeit - die zu prüfende Schriftlichkeit
      halbjahr - das zu prüfende Halbjahr
      Gibt zurück:
      true, falls die Schriftlichkeit in dem Halbjahr gegeben ist, sonst false
    • pruefeBelegungMitSchriftlichkeit

      public boolean pruefeBelegungMitSchriftlichkeit(AbiturFachbelegung fachbelegung, @NotNull @NotNull GostSchriftlichkeit schriftlichkeit, @NotNull @NotNull GostHalbjahr... halbjahre)
      Prüft, ob die Belegung des Faches in den angegebenen Halbjahren der angegebenen Schriftlichkeit entspricht. Ist die Fachbelegung null, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung erfolgreich, da kein Halbjahr geprüft werden muss.
      Parameter:
      fachbelegung - die zu prüfende Fachnbelegung
      schriftlichkeit - die zu prüfende Schriftlichkeit
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls die Schriftlichkeit in den Halbjahren gegeben ist, sonst false
    • pruefeBelegungErfuelltNicht

      public boolean pruefeBelegungErfuelltNicht(AbiturFachbelegung fachbelegung, @NotNull @NotNull GostSchriftlichkeit schriftlichkeit, @NotNull @NotNull GostHalbjahr... halbjahre)
      Prüft, ob eine Belegung des Faches in den angegebenen Halbjahren nicht der angegebenen Schriftlichkeit entspricht. Ist die Fachbelegung null, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung erfolgreich, da kein Halbjahr geprüft werden muss.
      Parameter:
      fachbelegung - die zu prüfende Fachnbelegung
      schriftlichkeit - die zu prüfende Schriftlichkeit
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls die Schriftlichkeit in den Halbjahren nicht gegeben ist, sonst false
    • pruefeBelegungErfuelltNichtFallsBelegt

      public boolean pruefeBelegungErfuelltNichtFallsBelegt(AbiturFachbelegung fachbelegung, @NotNull @NotNull GostSchriftlichkeit schriftlichkeit, @NotNull @NotNull GostHalbjahr... halbjahre)
      Prüft, ob eine Belegung des Faches in den angegebenen Halbjahren nicht der angegebenen Schriftlichkeit entspricht, sofern es in dem Halbjahr überhaupt belegt wurde.. Ist die Fachbelegung null, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung erfolgreich, da kein Halbjahr geprüft werden muss.
      Parameter:
      fachbelegung - die zu prüfende Fachnbelegung
      schriftlichkeit - die zu prüfende Schriftlichkeit
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls die Schriftlichkeit in den Halbjahren nicht gegeben ist, sonst false
    • pruefeBelegungHatMindestensEinmalSchriftlichkeit

      public boolean pruefeBelegungHatMindestensEinmalSchriftlichkeit(AbiturFachbelegung fachbelegung, @NotNull @NotNull GostSchriftlichkeit schriftlichkeit, @NotNull @NotNull GostHalbjahr... halbjahre)
      Prüft, ob die Belegung des Faches in den angegebenen Halbjahren mindestens einmal die angegebene Schritflichkeit hat. Ist die Fachbelegung null, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung nicht erfolgreich, da kein Halbjahr geprüft werden muss und somit die Schriftlichkeit nicht einmal existiert.
      Parameter:
      fachbelegung - die zu prüfende Fachbelegung
      schriftlichkeit - die zu prüfende Schriftlichkeit
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls die angegebene Schriftlichkeit mindestens einmal in den Halbjahren gegeben ist, sonst false
    • pruefeBelegungExistiertHatMindestensEinmalSchriftlichkeit

      public boolean pruefeBelegungExistiertHatMindestensEinmalSchriftlichkeit(List<AbiturFachbelegung> fachbelegungen, @NotNull @NotNull GostSchriftlichkeit schriftlichkeit, @NotNull @NotNull GostHalbjahr... halbjahre)
      Prüft, ob eine Fachbelegung existiert, welche in den angegebenen Halbjahren mindestens einmal die angegebene Schritflichkeit hat. Ist die Fachbelegung null, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung nicht erfolgreich, da kein Halbjahr geprüft werden muss und somit die Schriftlichkeit nicht einmal existiert.
      Parameter:
      fachbelegungen - die zu prüfenden Fachbelegungen
      schriftlichkeit - die zu prüfende Schriftlichkeit
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls die angegebene Schriftlichkeit bei einer Fachbelegung mindestens einmal in den Halbjahren gegeben ist, sonst false
    • pruefeBelegungExistiert

      public boolean pruefeBelegungExistiert(List<AbiturFachbelegung> fachbelegungen, @NotNull @NotNull GostHalbjahr... halbjahre)
      Prüft, ob die Belegung eines der angegebenen Fächer mit den angegebenen Halbjahren existiert. Ist keine Fachbelegung gegeben, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung erfolgreich, da kein Halbjahr geprüft werden muss. In dieser Methode wird ggf. auch geprüft, ob weitere Fachbelegungen existieren, welche das gleiche Statistik-Kürzel haben und Ersatzweise eine Halbjahres-Belegung ersetzen können. Dies ist z.B. bei bilingualen Fächern nötig oder bei der Unterscheidung von Sport-Profilen.
      Parameter:
      fachbelegungen - die zu prüfenden Fachnbelegungen
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls eine Fachbelegung mit den Halbjahren existiert, sonst false
    • pruefeBelegungExistiertEinzeln

      public boolean pruefeBelegungExistiertEinzeln(List<AbiturFachbelegung> fachbelegungen, @NotNull @NotNull GostHalbjahr halbjahr)
      Prüft, ob die Belegung eines der angegebenen Fächer mit dem angegebenen Halbjahr existiert. Ist keine Fachbelegung gegeben, so schlägt die Prüfung fehl. In dieser Methode wird ggf. auch geprüft, ob weitere Fachbelegungen existieren, welche das gleiche Statistik-Kürzel haben und Ersatzweise eine Halbjahres-Belegung ersetzen können. Dies ist z.B. bei bilingualen Fächern nötig oder bei der Unterscheidung von Sport-Profilen.
      Parameter:
      fachbelegungen - die zu prüfenden Fachnbelegungen
      halbjahr - das zu prüfende Halbjahr
      Gibt zurück:
      true, falls eine Fachbelegung mit dem Halbjahr existiert, sonst false
    • pruefeBelegungExistiertDurchgehendSchriftlich

      public boolean pruefeBelegungExistiertDurchgehendSchriftlich(List<AbiturFachbelegung> fachbelegungen)
      Prüft, ob die Belegung eines der angegebenen Fächer mit einer durchgängigen Belegung existiert, die zumindest in der Q1 und der Q2.1 schriftlich ist. In dieser Methode wird ggf. auch geprüft, ob weitere Fachbelegungen existieren, welche das gleiche Statistik-Kürzel haben und Ersatzweise eine Halbjahres-Belegung ersetzen können. Dies ist bei bilingualen Fächern nötig. Ist keine Fachbelegung gegeben, so schlägt die Prüfung fehl.
      Parameter:
      fachbelegungen - die zu prüfenden Fachnbelegungen
      Gibt zurück:
      true, falls eine durchgehend schriftliche Fachbelegung existiert, sonst false
    • pruefeBelegungExistiertMitSchriftlichkeitEinzeln

      public boolean pruefeBelegungExistiertMitSchriftlichkeitEinzeln(List<AbiturFachbelegung> fachbelegungen, @NotNull @NotNull GostSchriftlichkeit schriftlichkeit, @NotNull @NotNull GostHalbjahr halbjahr)
      Prüft, ob die Belegung eines der angegebenen Fächer in dem angegebenen Halbjahr der angegebenen Schriftlichkeit entspricht. Ist keine Fachbelegung gegeben, so schlägt die Prüfung fehl.
      Parameter:
      fachbelegungen - die zu prüfenden Fachnbelegungen
      schriftlichkeit - die zu prüfende Schriftlichkeit
      halbjahr - das zu prüfende Halbjahr
      Gibt zurück:
      true, falls bei einer Fachbelegung die Schriftlichkeit in dem Halbjahr gegeben ist, sonst false
    • pruefeBelegungExistiertMitSchriftlichkeit

      public boolean pruefeBelegungExistiertMitSchriftlichkeit(List<AbiturFachbelegung> fachbelegungen, @NotNull @NotNull GostSchriftlichkeit schriftlichkeit, GostHalbjahr... halbjahre)
      Prüft, ob die Belegung eines der angegebenen Fächer in den angegebenen Halbjahren der angegebenen Schriftlichkeit entspricht. Ist keine Fachbelegung gegeben, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung erfolgreich, da kein Halbjahr geprüft werden muss.
      Parameter:
      fachbelegungen - die zu prüfenden Fachnbelegungen
      schriftlichkeit - die zu prüfende Schriftlichkeit
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls bei einer Fachbelegung die Schriftlichkeit in den Halbjahren gegeben ist, sonst false
    • pruefeBelegungExistiertHatMindestensEinmalKursart

      public boolean pruefeBelegungExistiertHatMindestensEinmalKursart(List<AbiturFachbelegung> fachbelegungen, @NotNull @NotNull GostKursart kursart, GostHalbjahr... halbjahre)
      Prüft, ob die Belegung eines der angegebenen Fächer in den angegebenen Halbjahren mindestens einmal die angegebene Kursart hat. Ist keine Fachbelegung gegeben, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung erfolgreich, da kein Halbjahr geprüft werden muss.
      Parameter:
      fachbelegungen - die zu prüfenden Fachnbelegungen
      kursart - die zu prüfende Kursart
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls die Kursart bei einer Fachbelegung mindestens einmal in den Halbjahren gegeben ist, sonst false
    • pruefeBelegungExistiertErfuelltNicht

      public boolean pruefeBelegungExistiertErfuelltNicht(List<AbiturFachbelegung> fachbelegungen, @NotNull @NotNull GostSchriftlichkeit schriftlichkeit, GostHalbjahr... halbjahre)
      Prüft, ob die Belegung eines der angegebenen Fächer in den angegebenen Halbjahren existiert, bei welchem in mind. einem der Halbjahren die angebene Schriftlichkeit nicht gegeben ist. Ist keine Fachbelegung gegeben, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung erfolgreich, da kein Halbjahr geprüft werden muss.
      Parameter:
      fachbelegungen - die zu prüfenden Fachnbelegungen
      schriftlichkeit - die zu prüfende Schriftlichkeit
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true oder false (siehe oben)
    • pruefeBelegungExistiertErfuelltNichtFallsBelegt

      public boolean pruefeBelegungExistiertErfuelltNichtFallsBelegt(List<AbiturFachbelegung> fachbelegungen, @NotNull @NotNull GostSchriftlichkeit schriftlichkeit, GostHalbjahr... halbjahre)
      Prüft, ob die Belegung eines der angegebenen Fächer in den angegebenen Halbjahren existiert, bei welchem in mind. einem der Halbjahren die angebene Schriftlichkeit nicht gegeben ist, sofern das Fach überhaupt belegt wurde. Ist keine Fachbelegung gegeben, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung erfolgreich, da kein Halbjahr geprüft werden muss.
      Parameter:
      fachbelegungen - die zu prüfenden Fachnbelegungen
      schriftlichkeit - die zu prüfende Schriftlichkeit
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true oder false (siehe oben)
    • pruefeBelegungDurchgehendBelegbar

      public boolean pruefeBelegungDurchgehendBelegbar(AbiturFachbelegung fachbelegung, @NotNull @NotNull GostSchriftlichkeit schriftlichkeit, GostHalbjahr... halbjahre)
      Prüft, ob die Belegung des Faches in den angegebenen Halbjahren der angegebenen Schriftlichkeit entspricht und das Fach durchgehend belegbar ist. Ist die Fachbelegung null, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung erfolgreich, da kein Halbjahr geprüft werden muss.
      Parameter:
      fachbelegung - die zu prüfende Fachnbelegung
      schriftlichkeit - die zu prüfende Schriftlichkeit
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls die Schriftlichkeit in den Halbjahren gegeben ist, sonst false
    • pruefeBelegungDurchgehendBelegbarExistiert

      public boolean pruefeBelegungDurchgehendBelegbarExistiert(List<AbiturFachbelegung> fachbelegungen, @NotNull @NotNull GostSchriftlichkeit schriftlichkeit, GostHalbjahr... halbjahre)
      Prüft, ob die Belegung eines der angegebenen Fächer in den angegebenen Halbjahren der angegebenen Schriftlichkeit entspricht und das Fach durchgängig belegbar ist. Ist keine Fachbelegung gegeben, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung erfolgreich, da kein Halbjahr geprüft werden muss.
      Parameter:
      fachbelegungen - die zu prüfenden Fachbelegungen
      schriftlichkeit - die zu prüfende Schriftlichkeit
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls bei einer Fachbelegung die Schriftlichkeit in den Halbjahren gegeben ist, sonst false
    • pruefeBelegungDurchgehendBelegtExistiert

      public boolean pruefeBelegungDurchgehendBelegtExistiert(List<AbiturFachbelegung> fachbelegungen, @NotNull @NotNull GostSchriftlichkeit schriftlichkeit, GostHalbjahr... halbjahre)
      Prüft, ob die Belegung eines der angegebenen Fächer in den angegebenen Halbjahren der angegebenen Schriftlichkeit entspricht und das Fach durchgängig belegt ist. Ist keine Fachbelegung gegeben, so schlägt die Prüfung fehl. Wird bei einer gültigen Fachbelegung kein Halbjahr angegeben, so ist die Prüfung erfolgreich sofern das Fach durchgängig belegt wurde, da kein Halbjahr auf die Schriftlichkeit geprüft werden muss.
      Parameter:
      fachbelegungen - die zu prüfenden Fachbelegungen
      schriftlichkeit - die zu prüfende Schriftlichkeit
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls bei eine Fachbelegung durchgängig belegt wurde und die Schriftlichkeit in den Halbjahren gegeben ist, sonst false
    • pruefeAufKursart

      public boolean pruefeAufKursart(AbiturFachbelegung fachbelegung, @NotNull @NotNull GostKursart kursart)
      Prüft, ob die Fachbelegung in mindestens einem der Halbjahre die angegebene Kursart aufweist. Existiert die Fachbelegung nicht (null), so kommt die Kursart auch nicht vor.
      Parameter:
      fachbelegung - die Fachbelegung
      kursart - die Kursart
      Gibt zurück:
      true, falls mindestens einmal die Kursart belegt wurde, sonst false
    • filterBelegungKursartExistiert

      @NotNull public @NotNull List<AbiturFachbelegung> filterBelegungKursartExistiert(List<AbiturFachbelegung> fachbelegungen, @NotNull @NotNull GostKursart kursart)
      Filtert die Fachbelegungen und gibt nur die Fachbelegungen zurück, bei denen die Kursart existiert. Wird keine Fachbelegung übergeben (null oder leere Liste), so kommt auch keine Belegung mit der Kursart vor.
      Parameter:
      fachbelegungen - die Fachbelegungen
      kursart - die Kursart
      Gibt zurück:
      eine Liste mit den Fachbelegungen, welche die kursart haben
    • pruefeDurchgaengigkeit

      public boolean pruefeDurchgaengigkeit(AbiturFachbelegung fachbelegung)
      Prüft, ob die Fachbelegung eine durchgängige Belegung hat. Zusatzkurse können nicht für eine durchgängige Belegung zählen.
      Parameter:
      fachbelegung - die zu prüfende Fachbelegung
      Gibt zurück:
      true, wenn die Belegung durchgängig ist.
    • zaehleDurchgaengigeBelegungen

      public int zaehleDurchgaengigeBelegungen(List<AbiturFachbelegung> fachbelegungen)
      Zählt die Fachbelegungen, welche eine durchgängige Belegung aufweisen. Zusatzkurse zählen nicht für eine durchgängige Belegung. In dieser Methode wird ggf. auch geprüft, ob weitere Fachbelegungen existieren, welche das gleiche Statistik-Kürzel haben und Ersatzweise eine Halbjahres-Belegung ersetzen können. Dies ist bei bilingualen Fächern nötig.
      Parameter:
      fachbelegungen - die zu überprüfenden Fachbelegungen
      Gibt zurück:
      die Anzahl der durchgängigen Belegungen
    • pruefeDurchgaengigkeitSchriftlich

      public boolean pruefeDurchgaengigkeitSchriftlich(AbiturFachbelegung fachbelegung)
      Prüft, ob die Fachbelegung eine durchgängige Belegung hat und prüft die Schriftlichkeit in der Qualifikationsphase. Ein Fach in der Qualifikationsphase gilt als Schriftlich belegt, sofern die ersten 3 Halbjahre der Qualifikationsphase schriftlich belegt wurden. - Zusatzkurse können nicht für eine durchgängige Belegung zählen.
      Parameter:
      fachbelegung - die zu prüfende die zu überprüfenden Fachbelegung
      Gibt zurück:
      true, wenn die Belegung durchgängig ist und die Schriftlichkeit den Anforderungen genügt.
    • pruefeExistiertAbiFach

      public boolean pruefeExistiertAbiFach(List<AbiturFachbelegung> fachbelegungen, GostAbiturFach... arten)
      Prüft, ob unter den angegebenen Fachbelegungen ein Fach als Abiturfach von einem der angegebenen Arten gewählt wurde. Wird keine Art angebeben, so wird jede Fachbelegung akzeptiert und true zurückgegeben.
      Parameter:
      fachbelegungen - die Fachbelegungen
      arten - die Arten der Abiturfächer
      Gibt zurück:
      true, falls unter den Fachbelegungen mindestens ein Fach als Abiturfach von einem der angegebenen Arten gewählt wurde und false sonst
    • hatAbiFach

      public boolean hatAbiFach(@NotNull @NotNull GostAbiturFach art)
      Prüft, ob ein Abiturfach der übergebenen Art (1-4) existiert oder nicht.
      Parameter:
      art - die Art des Abiturfaches (siehe GostAbiturFach
      Gibt zurück:
      true, falls die Art des Abiturfaches belegt wurde und ansonsten false
    • hatDoppelteFachbelegungInHalbjahr

      public boolean hatDoppelteFachbelegungInHalbjahr(@NotNull @NotNull GostHalbjahr halbjahr)
      Prüft anhand des Statistik-Kürzels, ob in dem angegebenen Halbjahr eine doppelte Fachbelegung vorliegt oder nicht. Bei den Fremdsprachen werden nur unterschiedliche Fremdsprachen in einem Halbjahr akzeptiert und es dürfen mehrere Vertiefungsfächer (VX) in einem Halbjahr vorkommen. Fächer, die als nicht Prüfungsordnungs-relevant markiert sind werden ignoriert
      Parameter:
      halbjahr - das zu prüfende Halbjahr
      Gibt zurück:
      true, falls eine doppelte Belegung vorliegt, sonst false
    • hatDoppelteFachbelegung

      public boolean hatDoppelteFachbelegung(@NotNull @NotNull GostHalbjahr... halbjahre)
      Prüft anhand des Statistik-Kürzels, ob in einem der angegebenen Halbjahre eine doppelte Fachbelegung vorliegt oder nicht. Bei den Fremdsprachen werden nur unterschiedliche Fremdsprachen in einem Halbjahr akzeptiert und es dürfen mehrere Vertiefungsfächer (VX) in einem Halbjahr vorkommen.
      Parameter:
      halbjahre - die zu prüfenden Halbjahre
      Gibt zurück:
      true, falls eine doppelte Belegung vorliegt, sonst false
    • istProjektKursBesondereLernleistung

      public boolean istProjektKursBesondereLernleistung()
      Gibt zurück, ob der Projektkurs als besondere Lernleistung verwendet wird.
      Gibt zurück:
      true, falls der Projektkurs als besondere Lernleistung verwendet wird
    • getFachbelegungByID

      public AbiturFachbelegung getFachbelegungByID(long fachID)
      Bestimmt die Fachbelegung des Faches mit der angegebenen ID
      Parameter:
      fachID - die ID des Faches
      Gibt zurück:
      die Fachbelegung oder null, falls keine vorhanden ist
    • getFachbelegungByKuerzel

      public AbiturFachbelegung getFachbelegungByKuerzel(String kuerzel)
      Bestimmt die erste Fachbelegung mit dem angegebenen Statistik-Kürzel
      Parameter:
      kuerzel - das Kürzel des Faches, kann null sein (dann wird auch null zurückgegeben)
      Gibt zurück:
      die Fachbelegung oder null, falls keine vorhanden ist
    • getFachbelegungen

      @NotNull public @NotNull List<AbiturFachbelegung> getFachbelegungen(GostFachbereich... fachbereiche)
      Liefert alle Fachbelegungen der Abiturdaten, welche den angegebenen Fachbereichen zuzuordnen sind. Wird kein Fachbereich angegeben, so werden alle Fachbelegungen der Abiturdaten zurückgegeben.
      Parameter:
      fachbereiche - die Fachbereiche
      Gibt zurück:
      eine Liste der Fachbelegungen aus den Fachbereichen
    • getRelevanteFachbelegungen

      @NotNull public @NotNull List<AbiturFachbelegung> getRelevanteFachbelegungen(GostFachbereich... fachbereiche)
      Liefert alle Prüfungsordnungs-relevanten Fachbelegungen der Abiturdaten, welche den angegebenen Fachbereichen zuzuordnen sind. Wird kein Fachbereich angegeben, so werden alle Fachbelegungen der Abiturdaten zurückgegeben.
      Parameter:
      fachbereiche - die Fachbereiche
      Gibt zurück:
      eine Liste der Fachbelegungen aus den Fachbereichen
    • getFachbelegungenBilingual

      @NotNull public @NotNull List<AbiturFachbelegung> getFachbelegungenBilingual()
      Liefert alle Fachbelegungen, die bilingual unterrichtet wurden.
      Gibt zurück:
      eine Liste der Fachbelegungen
    • filterFremdspracheNeuEinsetzend

      @NotNull public @NotNull List<AbiturFachbelegung> filterFremdspracheNeuEinsetzend(List<AbiturFachbelegung> fachbelegungen)
      Filtert die Fachbelegungen auf neu einsetzende Fremdsprachen.
      Parameter:
      fachbelegungen - die zu filternden Fachbelegungen
      Gibt zurück:
      die gefilterten Fachbelegungen
    • filterFremdspracheFortgefuehrt

      @NotNull public @NotNull List<AbiturFachbelegung> filterFremdspracheFortgefuehrt(List<AbiturFachbelegung> fachbelegungen)
      Filtert die Fachbelegungen auf fortgeführte Fremdsprachen.
      Parameter:
      fachbelegungen - die zu filternden Fachbelegungen
      Gibt zurück:
      die gefilterten Fachbelegungen
    • filterDurchgehendBelegbar

      @NotNull public @NotNull List<AbiturFachbelegung> filterDurchgehendBelegbar(List<AbiturFachbelegung> fachbelegungen)
      Filtert die Fachbelegungen danach, ob sie durchgehend belegbar sind
      Parameter:
      fachbelegungen - die zu filternden Fachbelegungen
      Gibt zurück:
      die gefilterten Fachbelegungen
    • filterBelegungen

      @NotNull public @NotNull List<AbiturFachbelegung> filterBelegungen(List<AbiturFachbelegung> fachbelegungen, GostHalbjahr... halbjahre)
      Filtert die Fachbelegungen. Es werden nur Fachbelegungen behalten, die in den angegebenen Halbjahren eine Belegung aufweisen. Wird kein Halbjahr angegeben, so wird nichts gefiltert, da kein Halbjahr geprüft werden muss.
      Parameter:
      fachbelegungen - die zu filternden Fachbelegungen
      halbjahre - die Halbjahre, die belegt sein müssen
      Gibt zurück:
      die gefilterten Fachbelegungen
    • zaehleBelegungenDurchgaengig

      public int zaehleBelegungenDurchgaengig(List<AbiturFachbelegung> fachbelegungen)
      Diese Methode zählt die Anzahl der angegebenen Fachbelegungen, welche in allen Halbjahren belegt sind. Dabei werden Fachbelegungen, welche dem gleichem Statistik-Fach zuzuordnen sind zusammengefasst. Dies ist bei der Abwahl von bilingualen Sachfächern relevant.
      Parameter:
      fachbelegungen - die zu zählenden Fachbelegungen
      Gibt zurück:
      die Anzahl der Fachbelegungen
    • zaehleBelegungenDurchgaengigSchriftlichInQPhase

      public int zaehleBelegungenDurchgaengigSchriftlichInQPhase(List<AbiturFachbelegung> fachbelegungen)
      Diese Methode zählt die Anzahl der angegebenen Fachbelegungen, welche in allen Halbjahren belegt sind. Dabei werden Fachbelegungen, welche dem gleichem Statistik-Fach zuzuordnen sind zusammengefasst. Dies ist bei der Abwahl von bilingualen Sachfächern relevant.
      Parameter:
      fachbelegungen - die zu zählenden Fachbelegungen
      Gibt zurück:
      die Anzahl der Fachbelegungen
    • filterBelegungenMitSchriftlichkeit

      @NotNull public @NotNull List<AbiturFachbelegung> filterBelegungenMitSchriftlichkeit(List<AbiturFachbelegung> fachbelegungen, @NotNull @NotNull GostSchriftlichkeit schriftlichkeit, GostHalbjahr... halbjahre)
      Filtert die Fachbelegungen. Es werden nur Belegungen behalten, die in den angegebenen Halbjahren die geforderte Schriftlichkeit aufweisen. Wird kein Halbjahr angegeben, so wird nichts gefiltert, da kein Halbjahr geprüft werden muss.
      Parameter:
      fachbelegungen - die zu filternden Fachbelegungen
      schriftlichkeit - die geforderte Schriftlichkeit
      halbjahre - die Halbjahre, die belegt sein müssen
      Gibt zurück:
      die gefilterten Fachbelegungen
    • getFachbelegung

      public AbiturFachbelegung getFachbelegung(@NotNull @NotNull GostFachbereich fachbereich)
      Liefert die erste Fachbelegung für den Fachbereich - sofern eine existiert
      Parameter:
      fachbereich - der Fachbereich
      Gibt zurück:
      die Fachbelegung oder null
    • getRelevanteFachbelegung

      public AbiturFachbelegung getRelevanteFachbelegung(@NotNull @NotNull GostFachbereich fachbereich)
      Liefert die erste Prüfungsordnungs-relevante Fachbelegung für den Fachbereich - sofern eine existiert
      Parameter:
      fachbereich - der Fachbereich
      Gibt zurück:
      die Fachbelegung oder null
    • getFachbelegungByFachkuerzel

      @NotNull public @NotNull List<AbiturFachbelegung> getFachbelegungByFachkuerzel(String kuerzel)
      Liefert alle Fachbelegungen mit dem angegebenen Statistk-Kürzel des Faches
      Parameter:
      kuerzel - das Kürzel des Faches
      Gibt zurück:
      eine Liste mit den Fachbelegungen
    • getBelegungHalbjahr

      public AbiturFachbelegungHalbjahr getBelegungHalbjahr(@NotNull @NotNull AbiturFachbelegung fachbelegung, @NotNull @NotNull GostHalbjahr halbjahr, @NotNull @NotNull GostSchriftlichkeit schriftlich)
      Prüft, ob der Kurs in dem angegebenen Halbjahr mit der angegebenen Schriftlichkeit belegt ist und gibt ggf. die Belegung zurück.
      Parameter:
      fachbelegung - die Abiturfachbelegung aus welcher die Belegungsinformationen für das Halbjahr entnommen wird
      halbjahr - das Halbjahr, in welchem die Belegung gesucht wird.
      schriftlich - gibt an, ob das Fach schriftlich oder mündlich belegt sein muss
      Gibt zurück:
      die Belegungsinformationen zu dem Fach
    • getSprachbelegung

      public AbiturFachbelegung getSprachbelegung(String sprache)
      Liefert die erste Sprachbelegung - sofern eine existiert
      Parameter:
      sprache - das einstellige Kürzel der Sprache
      Gibt zurück:
      die Fachbelegung für die Sprache
    • getMoeglicheKursartAlsAbiturfach

      public GostKursart getMoeglicheKursartAlsAbiturfach(long id)
      Prüft, ob das fach mit der übergebenen ID als Abiturfach möglich ist und mit welcher Kursart dieses Fach aufgrund der Belegungen im Abitur gewählt werden kann.
      Parameter:
      id - die ID des Fachs
      Gibt zurück:
      die mögliche Kursart des Faches im Abitur oder null, falls das Fach nicht als Abiturfach ausgewählt werden kann.
    • getHalbjahreKursart

      @NotNull public @NotNull List<GostHalbjahr> getHalbjahreKursart(AbiturFachbelegung fachbelegung, GostKursart... kursarten)
      Liefert für die übergebene Fachbelegung die Halbjahre, in denen das Fach mit einer der angebenen Kursarten belegt wurde. Ist keine Kursart angegeben, so werden die Halbjahre aller Belegungen zurückgegeben. Ist keine Fachbelegung angegeben, so wird eine leere Liste zurückgegeben.
      Parameter:
      fachbelegung - die Fachbelegung
      kursarten - die Kursarten
      Gibt zurück:
      eine Liste der Halbjahre in den das Fach mit einer der Kursarten belegt wurde
    • getBiligualenBildungsgang

      public String getBiligualenBildungsgang()
      Gibt die Sprache des bilingualen Bildungsgang zurück oder null, falls keiner gewählt wurde.
      Gibt zurück:
      die Sprache des bilingualen Bildungsgang oder null
    • hatFortgefuehrteFremdspracheInSprachendaten

      public boolean hatFortgefuehrteFremdspracheInSprachendaten(List<AbiturFachbelegung> fremdsprachen)
      Prüft bei der Sprachenfolge, ob eine laut Sprachenfolge fortgeführte Fremdsprache fehlerhafterweise als neu einsetzende Fremdsprache belegt wurde. Übergebene Fachbelegungen, die keine Fremdsprachen sind werden ignoriert.
      Parameter:
      fremdsprachen - die zu prüfenden Fachbelegungen
      Gibt zurück:
      true, falls eine fortgeführte Fremdsprache bei den übergebenen Fachbelegungen existiert, ansonsten false
    • hatNeuEinsetzendeFremdspracheInSprachendaten

      public boolean hatNeuEinsetzendeFremdspracheInSprachendaten(List<AbiturFachbelegung> fremdsprachen)
      Prüft bei der Sprachenfolge, ob für eine laut Sprachenfolge neu einsetzende Fremdsprache fehlerhafterweise ein Kurs in einer fortgeführten Fremdsprache belegt wurde. Übergebene Fachbelegungen, die keine Fremdsprachen sind werden ignoriert.
      Parameter:
      fremdsprachen - die zu prüfenden Fachbelegungen
      Gibt zurück:
      true, falls eine neu einsetzende Fremdsprache bei den übergebenen Fachbelegungen existiert, ansonsten false
    • istBelegtSeitEF

      public boolean istBelegtSeitEF(@NotNull @NotNull AbiturFachbelegung fachbelegung)
      Prüft, ob die Belegung seit der EF1 vorhanden ist. Hierbei werden Zusatz-, Vertiefungs- und Projektkurse auch als später einsetzend akzeptiert. Dies gilt auch für Literatur, instrumental- und vokal-praktische Kurse sowie für Religion und Philosophie.
      Parameter:
      fachbelegung - die Abiturfachbelegungen, die geprüft werden
      Gibt zurück:
      true, falls das Fach seit EF1 durchgängig belegt wurde oder eine der Ausnahmen zutrifft, sonst false
    • istErlaubtZusatzkursGE

      public boolean istErlaubtZusatzkursGE()
      Gibt zurück, ob ein Zusatzkurs in Geschichte in diesem Jahrgang angeboten wird oder nicht.
      Gibt zurück:
      true, wenn einer angeboten wird und ansonsten false
    • getBeginnZusatzkursGE

      @NotNull public @NotNull GostHalbjahr getBeginnZusatzkursGE()
      Gibt das erste Halbjahr für Zusatzkurse in Geschichte in diesem Jahrgang zurück.
      Gibt zurück:
      das erste Halbjahr für Zusatzkurse in Geschichte
    • istErlaubtZusatzkursSW

      public boolean istErlaubtZusatzkursSW()
      Gibt zurück, ob ein Zusatzkurs in Sozialwissenschaften in diesem Jahrgang angeboten wird oder nicht.
      Gibt zurück:
      true, wenn einer angeboten wird und ansonsten false
    • getBeginnZusatzkursSW

      @NotNull public @NotNull GostHalbjahr getBeginnZusatzkursSW()
      Gibt das erste Halbjahr für Zusatzkurse in Sozialwissenschaften in diesem Jahrgang zurück.
      Gibt zurück:
      das erste Halbjahr für Zusatzkurse in Sozialwissenschaften
    • getFachkombinationenEF1

      @NotNull public @NotNull List<GostJahrgangFachkombination> getFachkombinationenEF1()
      Gibt alle Fachkombination zurück, welche in der EF.1 gültig sind.
      Gibt zurück:
      die Liste mit den Fachkombinationen
    • getFachkombinationenGesamt

      @NotNull public @NotNull List<GostJahrgangFachkombination> getFachkombinationenGesamt()
      Gibt alle Fachkombination zurück.
      Gibt zurück:
      die Liste mit den Fachkombinationen
    • getBelegpruefungErgebnis

      @NotNull public @NotNull GostBelegpruefungErgebnis getBelegpruefungErgebnis()
      Gibt das Ergebnis der Belegprüfung zurück. Dieses enthält eine Liste der Fehler, die bei der Belegprüfung festgestellt wurden und ob diese erfolgreich gewesen ist oder nicht.
      Gibt zurück:
      das Ergebnis der Belegprüfung
    • getWochenstunden

      @NotNull public @jakarta.validation.constraints.NotNull int[] getWochenstunden()
      Berechnet die Wochenstunden, welche von dem Schüler in den einzelnen Halbjahren der gymnasialen Oberstufe für das Abitur relevant belegt wurden.
      Gibt zurück:
      ein Array mit den Wochenstunden für die sechs Halbjahre
    • getWochenstundenEinfuehrungsphase

      public int getWochenstundenEinfuehrungsphase()
      Gibt die Anzahl der Wochenstunden für die Einführungsphase zurück.
      Gibt zurück:
      die Anzahl der Wochenstunden
    • getWochenstundenQualifikationsphase

      public int getWochenstundenQualifikationsphase()
      Gibt die Anzahl der Wochenstunden für die Qualifikationsphase zurück.
      Gibt zurück:
      die Anzahl der Wochenstunden
    • getAnrechenbareKurse

      @NotNull public @jakarta.validation.constraints.NotNull int[] getAnrechenbareKurse()
      Berechnet die Anzahl der anrechenbaren Kurse, welche von dem Schüler in den einzelnen Halbjahren der gymnasialen Oberstufe für das Abitur belegt wurden.
      Gibt zurück:
      ein Array mit den anrechenbaren Kursen für die sechs Halbjahre
    • getAnrechenbareKurseBlockI

      public int getAnrechenbareKurseBlockI()
      Gibt die Anzahl der anrechenbaren Kurse für den Block I des Abiturs zurück.
      Gibt zurück:
      die anrechenbaren Kursen für Block I des Abiturs