"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cast_de_nrw_schule_svws_core_abschluss_gost_GostFachManager = exports.GostFachManager = void 0; const JavaObject_1 = require("../../../java/lang/JavaObject"); const GostFachbereich_1 = require("../../../core/types/gost/GostFachbereich"); const GostHalbjahr_1 = require("../../../core/types/gost/GostHalbjahr"); const JavaString_1 = require("../../../java/lang/JavaString"); class GostFachManager extends JavaObject_1.JavaObject { constructor() { super(); } /** * Gibt an, ob es sich bei dem Fach um ein Projektkursfach handelt. * * @param fach das Fach der gymnasialen Oberstufe * * @return true, falls es sich um ein Projektkursfach handelt */ static istProjektkurs(fach) { return JavaObject_1.JavaObject.equalsTranspiler("PX", (fach.kuerzel)); } /** * Gibt an, ob es sich bei dem Fach um ein Vertiefungskursfach handelt. * * @param fach das Fach der gymnasialen Oberstufe * * @return true, falls es sich um ein Vertiefungskursfach handelt */ static istVertiefungskurs(fach) { return JavaObject_1.JavaObject.equalsTranspiler("VX", (fach.kuerzel)); } /** * Gibt an, ob das Fach durchgehend von EF.1 bis Q2.2 belegbar ist; * * @param fach das Fach der gymnasialen Oberstufe * * @return true, falls es so belegbar ist, sonst false */ static istDurchgehendBelegbarBisQ22(fach) { if (fach === null) return false; return fach.istMoeglichEF1 && fach.istMoeglichEF2 && fach.istMoeglichQ11 && fach.istMoeglichQ12 && fach.istMoeglichQ21 && fach.istMoeglichQ22; } /** * Gibt an, ob das Fach durchgehend von EF.1 bis EF.2 belegbar ist; * * @param fach das Fach der gymnasialen Oberstufe * * @return true, falls es so belegbar ist, sonst false */ static istBelegbarBisEF2(fach) { return fach.istMoeglichEF1 && fach.istMoeglichEF2; } /** * Prüft, ob das Fach zu der angegebenen Sprache gehört * * @param fach das Fach der gymnasialen Oberstufe * @param sprache das Kürzel der Sprache (1. Zeichen ohne Jahrgang!) * * @return true, falls das Fach zu der angegebenen Sprache passt, sonst false */ static istFremdsprachenfach(fach, sprache) { if ((fach === null) || (fach.kuerzel === null) || (JavaObject_1.JavaObject.equalsTranspiler("", (fach.kuerzel))) || !GostFachbereich_1.GostFachbereich.FREMDSPRACHE.hat(fach) || (sprache === null)) return false; return (JavaString_1.JavaString.compareToIgnoreCase(sprache, fach.kuerzel.substring(0, 1)) === 0); } /** * Liefert das Kürzel der Sprache (ohne Jahrgang) zurück, falls es sich um eine Sprache handelt. * * @param fach das Fach der gymnasialen Oberstufe * * @return das Kürzel der Sprache oder null */ static getFremdsprache(fach) { if ((fach.kuerzel === null) || (JavaObject_1.JavaObject.equalsTranspiler("", (fach.kuerzel))) || !GostFachbereich_1.GostFachbereich.FREMDSPRACHE.hat(fach)) return null; return fach.kuerzel.substring(0, 1).toUpperCase(); } /** * Prüft, ob das Fach bilingual unterrichtet wird oder nicht. * * @param fach das Fach der gymnasialen Oberstufe * * @return true, falls das Fach bilingual unterrichtet wird. */ static istBilingual(fach) { return ((fach.biliSprache !== null) && (!JavaObject_1.JavaObject.equalsTranspiler("", (fach.biliSprache))) && (!JavaObject_1.JavaObject.equalsTranspiler("D", (fach.biliSprache)))); } /** * Gibt zurück, ob das Fach in dem angegebenen Halbjahr wählbar ist oder nicht. * * @param fach das Fach der gymnasialen Oberstufe * @param halbjahr das zu prüfende Halbjahr * * @return true, falls das Fach in dem Halbjahr wählbar ist, sonst false */ static istWaehlbar(fach, halbjahr) { if (fach === null) return false; if (halbjahr === GostHalbjahr_1.GostHalbjahr.EF1) return fach.istMoeglichEF1; if (halbjahr === GostHalbjahr_1.GostHalbjahr.EF2) return fach.istMoeglichEF2; if (halbjahr === GostHalbjahr_1.GostHalbjahr.Q11) return fach.istMoeglichQ11; if (halbjahr === GostHalbjahr_1.GostHalbjahr.Q12) return fach.istMoeglichQ12; if (halbjahr === GostHalbjahr_1.GostHalbjahr.Q21) return fach.istMoeglichQ21; if (halbjahr === GostHalbjahr_1.GostHalbjahr.Q22) return fach.istMoeglichQ22; return false; } isTranspiledInstanceOf(name) { return ['de.nrw.schule.svws.core.abschluss.gost.GostFachManager'].includes(name); } } exports.GostFachManager = GostFachManager; function cast_de_nrw_schule_svws_core_abschluss_gost_GostFachManager(obj) { return obj; } exports.cast_de_nrw_schule_svws_core_abschluss_gost_GostFachManager = cast_de_nrw_schule_svws_core_abschluss_gost_GostFachManager; //# sourceMappingURL=GostFachManager.js.map