"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegpruefung = exports.GostBelegpruefung = void 0; const JavaObject_1 = require("../../../java/lang/JavaObject"); const GostBelegpruefungsArt_1 = require("../../../core/abschluss/gost/GostBelegpruefungsArt"); const Vector_1 = require("../../../java/util/Vector"); class GostBelegpruefung extends JavaObject_1.JavaObject { pruefungen_vorher; manager; pruefungs_art; belegungsfehler = new Vector_1.Vector(); /** * Erstellt eine neue Belegprüfung, welche den angegebenen Daten-Manager verwendet. * * @param manager der Daten-Manager für die Abiturdaten * @param pruefungs_art die Art der durchzuführenden Prüfung (z.B. EF.1 oder GESAMT) * @param pruefungen_vorher eine vorher durchgeführte Abiturprüfung */ constructor(manager, pruefungs_art, ...pruefungen_vorher) { super(); this.pruefungen_vorher = pruefungen_vorher; this.manager = manager; this.pruefungs_art = pruefungs_art; } /** * Führt eine Belegprüfung durch. */ pruefe() { this.init(); if (this.pruefungs_art === GostBelegpruefungsArt_1.GostBelegpruefungsArt.EF1) this.pruefeEF1(); else if (this.pruefungs_art === GostBelegpruefungsArt_1.GostBelegpruefungsArt.GESAMT) this.pruefeGesamt(); } /** * Fügt einen Belegungsfehler zu der Belegprüfung hinzu. Diese Methode wird von den Sub-Klassen * aufgerufen, wenn dort ein Belegungsfehler erkannt wird. * * @param fehler der hinzuzufügende Belegungsfehler */ addFehler(fehler) { if (!this.belegungsfehler.contains(fehler)) this.belegungsfehler.add(fehler); } /** * Gibt die Belegungsfehler zurück, welche bei der Gesamtprüfung aufgetreten sind. * * @return die Belegungsfehler */ getBelegungsfehler() { return this.belegungsfehler; } /** * Git zurück, ob ein "echter" Belegungsfehler vorliegt und nicht nur eine Warnung oder ein Hinweis. * * @return true, falls ein "echter" Belegungsfehler vorliegt. */ hatBelegungsfehler() { for (let i = 0; i < this.belegungsfehler.size(); i++) { let fehler = this.belegungsfehler.get(i); if (!fehler.istInfo()) return false; } return true; } /** * Gibt zurück, ob die angegebenen Belegprüfungsfehler einen "echten" Fehler beinhalten * und nicht nur einen Hinweise / eine Information. * * @param alle_fehler die Belegprüfungsfehler und -informationen der durchgeführten Belegprüfungen * * @return true, falls kein "echter" Belegprüfungsfehler aufgetreten ist, sonst false */ static istErfolgreich(alle_fehler) { for (let i = 0; i < alle_fehler.size(); i++) { let fehler = alle_fehler.get(i); if (!fehler.istInfo()) return false; } return true; } /** * Liefert alle Belegprüfungsfehler der übergebenen Teil-Belegprüfungen zurück. * Doppelte Fehler werden dabei nur einfach zurückgegeben (Set). * * @param pruefungen die durchgeführten Belegprüfungen, deren fehler zurückgegeben werden sollen. * * @return die Menge der Belegprüfungsfehler */ static getBelegungsfehlerAlle(pruefungen) { let fehler = new Vector_1.Vector(); for (let i = 0; i < pruefungen.size(); i++) { let pruefung = pruefungen.get(i); fehler.addAll(pruefung.getBelegungsfehler()); } return fehler; } isTranspiledInstanceOf(name) { return ['de.nrw.schule.svws.core.abschluss.gost.GostBelegpruefung'].includes(name); } } exports.GostBelegpruefung = GostBelegpruefung; function cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegpruefung(obj) { return obj; } exports.cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegpruefung = cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegpruefung; //# sourceMappingURL=GostBelegpruefung.js.map