"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cast_de_nrw_schule_svws_core_SprachendatenManager = exports.SprachendatenManager = void 0; const JavaObject_1 = require("../java/lang/JavaObject"); const JavaInteger_1 = require("../java/lang/JavaInteger"); const Sprachpruefungniveau_1 = require("../core/types/Sprachpruefungniveau"); const Vector_1 = require("../java/util/Vector"); const HashSet_1 = require("../java/util/HashSet"); class SprachendatenManager extends JavaObject_1.JavaObject { constructor() { super(); } /** * Prüft, ob eine unterrichtliche Belegung der übergebenen Sprache existiert. * * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen * @param sprache das einstellige Kürzel der Sprache * * @return true, falls eine Belegung existiert und ansonsten false */ static hatSprachbelegung(sprachendaten, sprache) { if (sprachendaten === null || sprachendaten.belegungen === null || sprache === null || JavaObject_1.JavaObject.equalsTranspiler("", (sprache))) { return false; } return SprachendatenManager.getSprachbelegung(sprachendaten, sprache) !== null; } /** * Prüft, ob eine unterrichtliche Belegung der übergebenen Sprache in der Sekundarstufe I existiert. * * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen * @param sprache das einstellige Kürzel der Sprache * * @return true, falls eine Belegung existiert und ansonsten false */ static hatSprachbelegungInSekI(sprachendaten, sprache) { if (sprachendaten === null || sprachendaten.belegungen === null || sprache === null || JavaObject_1.JavaObject.equalsTranspiler("", (sprache))) { return false; } let belegung = SprachendatenManager.getSprachbelegung(sprachendaten, sprache); if (belegung !== null && SprachendatenManager.ASDJahrgangNumerisch(belegung.belegungVonJahrgang) > 0) { return SprachendatenManager.ASDJahrgangNumerisch(belegung.belegungVonJahrgang) <= 10; } return false; } /** * Prüft, ob eine unterrichtliche Belegung der übergebenen Sprache in der Sekundarstufe I mit der angegebenen Belegungsdauer existiert. * * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen * @param sprache das einstellige Kürzel der Sprache * @param mindestBelegdauer Zulässig sind Werte 1 bis 5 für die minimale Dauer der Sprachbelegung, damit die Sprache berücksichtigt wird. * * @return true, falls eine Belegung existiert und ansonsten false */ static hatSprachbelegungInSekIMitDauer(sprachendaten, sprache, mindestBelegdauer) { if (sprachendaten === null || sprachendaten.belegungen === null || sprache === null || JavaObject_1.JavaObject.equalsTranspiler("", (sprache)) || mindestBelegdauer === null || mindestBelegdauer <= 0) { return false; } let belegung = SprachendatenManager.getSprachbelegung(sprachendaten, sprache); if (belegung === null) { return false; } let belegtVonJahrgangNumerisch; let belegtBisJahrgangNumerisch; let letzterJahrgangSekI; if (belegung.belegungVonJahrgang !== null) { belegtVonJahrgangNumerisch = SprachendatenManager.ASDJahrgangNumerisch(belegung.belegungVonJahrgang); belegtBisJahrgangNumerisch = SprachendatenManager.ASDJahrgangNumerisch(belegung.belegungBisJahrgang); letzterJahrgangSekI = 10; if (belegtVonJahrgangNumerisch === 6 || belegtVonJahrgangNumerisch === 8) { letzterJahrgangSekI = 9; } if (0 < belegtVonJahrgangNumerisch && belegtVonJahrgangNumerisch <= 10) { if (belegtBisJahrgangNumerisch === 0 || belegtBisJahrgangNumerisch > letzterJahrgangSekI) { belegtBisJahrgangNumerisch = letzterJahrgangSekI; } return ((belegtBisJahrgangNumerisch - belegtVonJahrgangNumerisch + 1) >= mindestBelegdauer); } } return false; } /** * Gibt die zu der übergebenen Sprache gehörende Sprachbelegung zurück. * * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen * @param sprache das einstellige Kürzel der Sprache * * @return die Sprachbelegung oder null, falls keine existiert */ static getSprachbelegung(sprachendaten, sprache) { if (sprachendaten === null || sprachendaten.belegungen === null || sprache === null || JavaObject_1.JavaObject.equalsTranspiler("", (sprache))) { return null; } let belegungen = sprachendaten.belegungen; for (let belegung of belegungen) { if (JavaObject_1.JavaObject.equalsTranspiler(sprache, (belegung.sprache))) { return belegung; } } return null; } /** * Liefert die Sprachen aus der Sprachenfolge zurück, deren Beginn im angegebenen Zeitraum liegt und die angegebene Dauer besitzt. * Dabei wird davon ausgegangen, dass Sprachen ohne Ende der Belegung am Ende der Sekundarstufe I belegt wurden. * Bei einem Schüler der Sek-II wird auch nur die Dauer der Belegung in der Sek-I betrachtet. * Sprachprüfungen werden nicht berücksichtigt. * * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen * @param belegungbeginnStart Es werden nur Sprachen berücksichtigt, deren Belegungsbeginn größer oder gleich dem angegebenen ASDJahrgang ist. * @param belegungbeginnEnde Es werden nur Sprachen berücksichtigt, deren Belegungsbeginn kleiner oder gleich dem angegebenen ASDJahrgang ist. * @param mindestBelegdauer Zulässig sind Werte 1 bis 5 für die minimale Dauer der Sprachbelegung, damit die Sprache berücksichtigt wird. * * @return Vector mit Sprachbelegungen, die die Kriterien erfüllen. Die Liste ist nach Belegungsbeginn aufsteigend sortiert */ static getSprachlegungenNachBeginnUndDauerEndeSekI(sprachendaten, belegungbeginnStart, belegungbeginnEnde, mindestBelegdauer) { let belegungen = new Vector_1.Vector(); if (sprachendaten !== null && sprachendaten.belegungen !== null && belegungbeginnStart !== null && !JavaObject_1.JavaObject.equalsTranspiler(belegungbeginnStart, ("")) && belegungbeginnEnde !== null && !JavaObject_1.JavaObject.equalsTranspiler(belegungbeginnEnde, ("")) && mindestBelegdauer !== null && mindestBelegdauer >= 0) { let belegtVonJahrgangNumerisch; let belegtBisJahrgangNumerisch; let letzterJahrgangSekI; let gefundeneSprachen = new HashSet_1.HashSet(); let alleBelegungen = sprachendaten.belegungen; for (let belegung of alleBelegungen) { if (belegung.belegungVonJahrgang !== null) { belegtVonJahrgangNumerisch = SprachendatenManager.ASDJahrgangNumerisch(belegung.belegungVonJahrgang); belegtBisJahrgangNumerisch = SprachendatenManager.ASDJahrgangNumerisch(belegung.belegungBisJahrgang); letzterJahrgangSekI = 10; if (belegtVonJahrgangNumerisch === 6 || belegtVonJahrgangNumerisch === 8) { letzterJahrgangSekI = 9; } if (belegtVonJahrgangNumerisch > 0 && SprachendatenManager.ASDJahrgangNumerisch(belegungbeginnStart) <= belegtVonJahrgangNumerisch && belegtVonJahrgangNumerisch <= SprachendatenManager.ASDJahrgangNumerisch(belegungbeginnEnde)) { if (belegtBisJahrgangNumerisch === 0 || belegtBisJahrgangNumerisch > letzterJahrgangSekI) { belegtBisJahrgangNumerisch = letzterJahrgangSekI; } if ((belegtBisJahrgangNumerisch - belegtVonJahrgangNumerisch + 1) >= mindestBelegdauer) { if (!gefundeneSprachen.contains(belegung.sprache)) { belegungen.add(belegung); } gefundeneSprachen.add(belegung.sprache); } } } } } if (belegungen.size() > 0) { let comparator = { compare: (a, b) => JavaInteger_1.JavaInteger.compare(SprachendatenManager.ASDJahrgangNumerisch(a.belegungVonJahrgang), SprachendatenManager.ASDJahrgangNumerisch(b.belegungVonJahrgang)) }; belegungen.sort(comparator); } return belegungen; } /** * Prüft, ob die übergebene Sprache als eine fortgeführte Fremdsprache in der gymnasialen Oberstufe * gemäß APO-GOSt ab EF belegt werden kann. Dazu zählen alle belegten Sprachen mit mind. 2 Jahren Belegung in Sek-I * sowie Sprachen aus bestimmten Sprachprüfungen. * * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen * @param sprache das einstellige Kürzel der Sprache * * @return true, falls die Sprache als fortgeführte Fremdsprache als EF belegt werden kann, andernfalls false */ static istFortfuehrbareSpracheInGOSt(sprachendaten, sprache) { if (sprachendaten === null || sprache === null || JavaObject_1.JavaObject.equalsTranspiler("", (sprache))) { return false; } if (SprachendatenManager.hatSprachbelegungInSekIMitDauer(sprachendaten, sprache, 2)) { return true; } let pruefungen = sprachendaten.pruefungen; if (pruefungen !== null) { for (let pruefung of pruefungen) { if (!JavaObject_1.JavaObject.equalsTranspiler(sprache, (pruefung.sprache)) && !JavaObject_1.JavaObject.equalsTranspiler(sprache, (pruefung.ersetzteSprache))) { continue; } if (pruefung.istHKUPruefung && (pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_HA10.id || pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_MSA.id) && (pruefung.note !== null) && (pruefung.note <= 4)) { return true; } if (pruefung.istFeststellungspruefung && (pruefung.note !== null) && (pruefung.note <= 4) && ((pruefung.kannBelegungAlsFortgefuehrteSpracheErlauben && pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_MSA.id) || ((pruefung.kannErstePflichtfremdspracheErsetzen || pruefung.kannZweitePflichtfremdspracheErsetzen || pruefung.kannWahlpflichtfremdspracheErsetzen) && (pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_HA10.id || pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_MSA.id)))) { return true; } } } return false; } /** * Sammelt alle Sprachen, die in der GOSt als fortgeführte Sprachen belegt werden können, sei * es aufgrund einer Belegung von mindestens zwei Jahren oder aufgrund einer Sprachprüfung. * * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen * * @return Liste alle Sprachen, die in der GOSt fortgeführt werden können. */ static getFortfuehrbareSprachenInGOSt(sprachendaten) { let sprachen = new Vector_1.Vector(); if (sprachendaten !== null) { let belegungen = SprachendatenManager.getSprachlegungenNachBeginnUndDauerEndeSekI(sprachendaten, "05", "10", 2); for (let belegung of belegungen) { sprachen.add(belegung.sprache); } let pruefungen = sprachendaten.pruefungen; if (pruefungen !== null) { for (let pruefung of pruefungen) { if (pruefung.istHKUPruefung && (pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_HA10.id || pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_MSA.id) && (pruefung.note !== null) && (pruefung.note <= 4)) { sprachen.add(pruefung.ersetzteSprache); } if (pruefung.istFeststellungspruefung && (pruefung.note !== null) && (pruefung.note <= 4) && ((pruefung.kannBelegungAlsFortgefuehrteSpracheErlauben && pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_MSA.id) || ((pruefung.kannErstePflichtfremdspracheErsetzen || pruefung.kannZweitePflichtfremdspracheErsetzen || pruefung.kannWahlpflichtfremdspracheErsetzen) && (pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_HA10.id || pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_MSA.id)))) { sprachen.add(pruefung.ersetzteSprache); } } } } return sprachen; } /** * Prüft für den Zeitpunkt Ende Sek-I, ob eine Fremdsprache im Umfang von mindestens 4 Jahren belegt wurde. * Dabei wird davon ausgegangen, dass Sprachen ohne Ende der Belegung am Ende der Sekundarstufe I belegt wurden. * Ist dies in der Sprachenfolge nicht der Fall, werden zusätzlich evtl. Sprachprüfungen herangezogen. * * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen * * @return true, falls der Nachweis gemäß der aktuellen Sprachdaten erfüllt ist, andernfalls false. */ static hatEineSpracheMitMin4JahrenDauerEndeSekI(sprachendaten) { if (sprachendaten === null) { return false; } let anzahlSprachen = SprachendatenManager.getSprachlegungenNachBeginnUndDauerEndeSekI(sprachendaten, "05", "07", 4).size(); if (anzahlSprachen >= 1) { return true; } let pruefungen = sprachendaten.pruefungen; if (pruefungen !== null) { for (let pruefung of pruefungen) { if (pruefung.istFeststellungspruefung && (pruefung.kannErstePflichtfremdspracheErsetzen || pruefung.kannZweitePflichtfremdspracheErsetzen || pruefung.kannWahlpflichtfremdspracheErsetzen) && (pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_HA10.id || pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_MSA.id) && (pruefung.note !== null) && (pruefung.note <= 4)) { return true; } } } return false; } /** * Prüft für den Zeitpunkt Ende Sek-I, ob eine zweite Fremdsprache im Umfang von mindestens 4 Jahren belegt wurde. * Dabei wird davon ausgegangen, dass Sprachen ohne Ende der Belegung am Ende der Sekundarstufe I belegt wurden. * Ist dies in der Sprachenfolge nicht der Fall, werden zusätzlich evtl. Sprachprüfungen herangezogen. * * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen * * @return true, falls der Nachweis gemäß der aktuellen Sprachdaten erfüllt ist, andernfalls false. */ static hatZweiSprachenMitMin4JahrenDauerEndeSekI(sprachendaten) { if (sprachendaten === null) { return false; } let belegungen = SprachendatenManager.getSprachlegungenNachBeginnUndDauerEndeSekI(sprachendaten, "05", "07", 4); let anzahlSprachen = belegungen.size(); if (anzahlSprachen >= 2) { return true; } if (anzahlSprachen === 1) { let pruefungen = sprachendaten.pruefungen; if (pruefungen !== null) { for (let pruefung of pruefungen) { if (pruefung.istFeststellungspruefung && (pruefung.kannErstePflichtfremdspracheErsetzen || pruefung.kannZweitePflichtfremdspracheErsetzen || pruefung.kannWahlpflichtfremdspracheErsetzen) && (pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_HA10.id || pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_MSA.id) && (pruefung.note !== null) && (pruefung.note <= 4)) { if (!JavaObject_1.JavaObject.equalsTranspiler(belegungen.get(0).sprache, (pruefung.sprache))) { return true; } } } } } return false; } /** * Prüft für den Zeitpunkt Ende Sek-I, ob eine Fremdsprache ab Kasse 8/9 im Umfang von mindestens 2 Jahren belegt wurde. * Dabei wird davon ausgegangen, dass Sprachen ohne Ende der Belegung am Ende der Sekundarstufe I belegt wurden. * * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen * * @return true, falls der Nachweis gemäß der aktuellen Sprachdaten erfüllt ist, andernfalls false. */ static hatSpracheMit2JahrenDauerEndeSekI(sprachendaten) { if (sprachendaten === null) { return false; } let anzahlSprachen = SprachendatenManager.getSprachlegungenNachBeginnUndDauerEndeSekI(sprachendaten, "08", "10", 2).size(); if (anzahlSprachen >= 1) { return true; } return false; } /** * Prüft, ob eine Sprachfeststellungsprüfung auf dem Niveau der Einführungsphase (EF) der GOSt vorliegt. * Nach §11 (2) APO-GOSt setzt das eine Prüfung in der gleichen Sprache am Ende der Sek-I voraus * * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen * * @return true, falls entsprechende Sprachprüfungen vorhanden sind, andernfalls false. */ static hatSprachfeststellungspruefungAufEFNiveau(sprachendaten) { if (sprachendaten === null) { return false; } let pruefungen = sprachendaten.pruefungen; if (pruefungen !== null) { for (let pruefungS1 of pruefungen) { if (pruefungS1.istFeststellungspruefung && (pruefungS1.kannErstePflichtfremdspracheErsetzen || pruefungS1.kannZweitePflichtfremdspracheErsetzen || pruefungS1.kannWahlpflichtfremdspracheErsetzen) && (pruefungS1.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_HA10.id || pruefungS1.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_MSA.id) && (pruefungS1.note !== null) && (pruefungS1.note <= 4)) { for (let pruefungEF of pruefungen) { if (pruefungEF.istFeststellungspruefung && JavaObject_1.JavaObject.equalsTranspiler(pruefungEF.ersetzteSprache, (pruefungS1.ersetzteSprache)) && (pruefungEF.kannErstePflichtfremdspracheErsetzen || pruefungEF.kannZweitePflichtfremdspracheErsetzen || pruefungEF.kannWahlpflichtfremdspracheErsetzen) && pruefungEF.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_EF.id && (pruefungEF.note !== null) && (pruefungEF.note <= 4)) { return true; } } } } } return false; } /** * Gibt die Fremdsprache zurück, die als erste Fremdsprache der Sekundarstufe I gewertet werden kann. * Im Falle einer Sprachprüfung als erste Pflichtfremdsprache wird diese mit der als Ersatz eingetragene Fremdsprache zurückgegeben. * Ist keine Sprachprüfung als erste Pflichtfremdsprache vorhanden, so wird die als erste Sprache in der Sekundarstufe I belegt * Sprache zurückgegeben, unabhängig von deren Belegdauer. * * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen * * @return Die erste belegte Sprache (gemäß Belegung oder Prüfung) oder null, falls keine existiert */ static getErsteSpracheInSekI(sprachendaten) { if (sprachendaten === null) { return null; } let pruefungen = sprachendaten.pruefungen; if (pruefungen !== null) { for (let pruefung of pruefungen) { if (pruefung.istFeststellungspruefung && pruefung.kannErstePflichtfremdspracheErsetzen && (pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_HA10.id || pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_MSA.id) && (pruefung.note !== null) && (pruefung.note <= 4)) { return pruefung.ersetzteSprache; } } } let belegungen = sprachendaten.belegungen; if (belegungen !== null) { let sprachbelegungen = SprachendatenManager.getSprachlegungenNachBeginnUndDauerEndeSekI(sprachendaten, "05", "10", 0); if (sprachbelegungen.size() > 0) { return sprachbelegungen.get(0).sprache; } } return null; } /** * Gibt die Fremdsprache zurück, die als zweite Fremdsprache der Sekundarstufe I gewertet werden kann. * Im Falle einer Sprachprüfung als zweite Pflichtfremdsprache bzw. WP-Sprache wird diese mit der als Ersatz eingetragene Fremdsprache zurückgegeben. * Ist keine Sprachprüfung als zweite Pflichtfremdsprache bzw. WP-Sprache vorhanden, so wird die als zweite Sprache in der Sekundarstufe I belegt * Sprache zurückgegeben, unabhängig von deren Belegdauer. * * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen * * @return Die zweite belegte Sprache (gemäß Belegung oder Prüfung) oder null, falls keine existiert */ static getZweiteSpracheInSekI(sprachendaten) { if (sprachendaten === null) { return null; } let pruefungErsteSprache = ""; let pruefungZweiteSprache = ""; let pruefungen = sprachendaten.pruefungen; if (pruefungen !== null) { for (let pruefung of pruefungen) { if (pruefung.istFeststellungspruefung && pruefung.kannErstePflichtfremdspracheErsetzen && (pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_HA10.id || pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_MSA.id) && (pruefung.note !== null) && (pruefung.note <= 4)) { pruefungErsteSprache = pruefung.ersetzteSprache; } if (pruefung.istFeststellungspruefung && (pruefung.kannZweitePflichtfremdspracheErsetzen || pruefung.kannWahlpflichtfremdspracheErsetzen) && (pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_HA10.id || pruefung.anspruchsniveauId === Sprachpruefungniveau_1.Sprachpruefungniveau.NIVEAU_MSA.id) && (pruefung.note !== null) && (pruefung.note <= 4)) { pruefungZweiteSprache = pruefung.ersetzteSprache; } } } if (!JavaObject_1.JavaObject.equalsTranspiler(pruefungZweiteSprache, (""))) { return pruefungZweiteSprache; } let belegungen = sprachendaten.belegungen; if (belegungen !== null) { let sprachbelegungen = SprachendatenManager.getSprachlegungenNachBeginnUndDauerEndeSekI(sprachendaten, "05", "10", 0); if (!JavaObject_1.JavaObject.equalsTranspiler(pruefungErsteSprache, (""))) { for (let sprachbelegung of sprachbelegungen) { if (!JavaObject_1.JavaObject.equalsTranspiler(sprachbelegung.sprache, (pruefungErsteSprache))) { return sprachbelegung.sprache; } } } else { if (sprachbelegungen.size() > 1) { return sprachbelegungen.get(1).sprache; } } } return null; } /** * Ermittelt, ob eine Fremdsprache ab Kasse 8/9 im Umfang von mindestens 2 Jahren belegt wurde und gibt sie zurück * Dabei wird davon ausgegangen, dass Sprachen ohne Ende der Belegung am Ende der Sekundarstufe I belegt wurden. * * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen * * @return Sprache, falls eine Belegung vorhanden ist, sonst null */ static getSpracheMit2JahrenDauerEndeSekI(sprachendaten) { if (sprachendaten === null) { return null; } let belegungen = sprachendaten.belegungen; if (belegungen !== null) { let sprachbelegungen = SprachendatenManager.getSprachlegungenNachBeginnUndDauerEndeSekI(sprachendaten, "08", "10", 2); if (sprachbelegungen.size() > 0) { return sprachbelegungen.get(0).sprache; } } return null; } /** * Hilfsfunktion, die einen ASDJahrgang nach APO-SI und APO-GOSt und in einen numerischen Wert für Vergleiche umwandelt. * Dabei wird EF zu 11, Q1 zu 12 und Q2 zu 13. Die übrigen Stufen werden gemäß ihrer numerischen Stufenangaben umgewandelt. * * @param ASDJahrgang Der in den mumerischen Wert umzuwandelnde ASDJahrgang. * * @return Wert des ASDJahrgangs zwischen 5 und 13, wenn dieser nicht bestimmt werden kann, wird der Wert 0 zurückgegeben. */ static ASDJahrgangNumerisch(ASDJahrgang) { if (ASDJahrgang === null || JavaObject_1.JavaObject.equalsTranspiler(ASDJahrgang, (""))) { return 0; } switch (ASDJahrgang) { case "EF": return 11; case "Q1": return 12; case "Q2": return 13; default: try { return JavaInteger_1.JavaInteger.parseInt(ASDJahrgang); } catch (e) { return 0; } } } isTranspiledInstanceOf(name) { return ['de.nrw.schule.svws.core.SprachendatenManager'].includes(name); } } exports.SprachendatenManager = SprachendatenManager; function cast_de_nrw_schule_svws_core_SprachendatenManager(obj) { return obj; } exports.cast_de_nrw_schule_svws_core_SprachendatenManager = cast_de_nrw_schule_svws_core_SprachendatenManager; //# sourceMappingURL=SprachendatenManager.js.map