"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cast_de_nrw_schule_svws_core_abschluss_ge_AbschlussFaecherGruppen = exports.AbschlussFaecherGruppen = void 0; const JavaObject_1 = require("../../../java/lang/JavaObject"); const StringBuilder_1 = require("../../../java/lang/StringBuilder"); const Predicate_1 = require("../../../java/util/function/Predicate"); class AbschlussFaecherGruppen extends JavaObject_1.JavaObject { fg1; fg2; /** * Erzeugt eine neues Objekt AbschlussFaecherGruppen * * @param fg1 die Fächergruppe 1 * @param fg2 die Fächergruppe 2 */ constructor(fg1, fg2) { super(); this.fg1 = fg1; this.fg2 = fg2; } /** * Prüft, ob eine der beiden Fächergruppen leer ist. * * @return true, falls eine der beiden Fächergruppen leer ist. */ isEmpty() { return this.fg1 === null || this.fg2 === null || this.fg1.isEmpty() || this.fg2.isEmpty(); } /** * Prüft, ob das Fach mit dem angegebenen Fachkürzel in einer der beiden * Fächergruppen enthalten ist oder nicht. * * @param kuerzel das Kürzel des Faches, welches geprüft werden soll. * * @return true, falls das Fach vorhanden ist, und ansonsten false */ contains(kuerzel) { return this.fg1.contains(kuerzel) || this.fg2.contains(kuerzel); } /** * Bestimmt alle Fächer beider Fächergruppen, welche dem übergebenen * Filterkriterium entsprechen. * * @param filter die Funktion, die das Kriterium für die gesuchten Fächer angibt. * * @return eine Liste der Fächer, die dem Filterkriterium entsprechen */ getFaecher(filter) { let faecher = this.fg1.getFaecher(filter); faecher.addAll(this.fg2.getFaecher(filter)); return faecher; } /** * Gibt die Anzahl der Fächer beider Fächergruppen zurück, welche dem übergebenen * Filterkriterium entsprechen. * * @param filter die Funktion, die das Kriterium für die gesuchten Fächer angibt. * * @return die Anzahl der Fächer */ getFaecherAnzahl(filter) { return this.fg1.getFaecherAnzahl(filter) + this.fg2.getFaecherAnzahl(filter); } /** * Bestimmt die Kürzel aller Fächer beider Fächergruppen, welche dem übergebenen * Filterkriterium entsprechen. * * @param filter die Funktion, die das Kriterium für die gesuchten Fächer angibt. * * @return eine Liste der Kürzel der Fächer, die dem Filterkriterium entsprechen */ getKuerzel(filter) { let faecher = this.fg1.getKuerzel(filter); faecher.addAll(this.fg2.getKuerzel(filter)); return faecher; } /** * Implementation for method overloads of 'getKuerzelListe' */ getKuerzelListe(__param0, __param1) { if (((typeof __param0 !== "undefined") && ((typeof __param0 !== 'undefined') && (__param0 instanceof Object) && (__param0 !== null) && ('test' in __param0) && (typeof __param0.test === 'function')) || (__param0 === null)) && (typeof __param1 === "undefined")) { let filter = (0, Predicate_1.cast_java_util_function_Predicate)(__param0); let sb = new StringBuilder_1.StringBuilder(); let faecher = this.getKuerzel(filter); for (let fach of faecher) { if (sb.length() > 0) sb.append(", "); sb.append(fach); } return sb.toString(); } else if (((typeof __param0 !== "undefined") && ((typeof __param0 !== 'undefined') && (__param0 instanceof Object) && (__param0 !== null) && ('test' in __param0) && (typeof __param0.test === 'function')) || (__param0 === null)) && ((typeof __param1 !== "undefined") && ((typeof __param1 !== 'undefined') && (__param1 instanceof Object) && (__param1 !== null) && ('test' in __param1) && (typeof __param1.test === 'function')) || (__param1 === null))) { let filterFG1 = (0, Predicate_1.cast_java_util_function_Predicate)(__param0); let filterFG2 = (0, Predicate_1.cast_java_util_function_Predicate)(__param1); let sb = new StringBuilder_1.StringBuilder(); let faecherFG1 = this.fg1.getKuerzel(filterFG1); let faecherFG2 = this.fg2.getKuerzel(filterFG2); for (let fach of faecherFG1) { if (sb.length() > 0) sb.append(", "); sb.append(fach); } for (let fach of faecherFG2) { if (sb.length() > 0) sb.append(", "); sb.append(fach); } return sb.toString(); } else throw new Error('invalid method overload'); } isTranspiledInstanceOf(name) { return ['de.nrw.schule.svws.core.abschluss.ge.AbschlussFaecherGruppen'].includes(name); } } exports.AbschlussFaecherGruppen = AbschlussFaecherGruppen; function cast_de_nrw_schule_svws_core_abschluss_ge_AbschlussFaecherGruppen(obj) { return obj; } exports.cast_de_nrw_schule_svws_core_abschluss_ge_AbschlussFaecherGruppen = cast_de_nrw_schule_svws_core_abschluss_ge_AbschlussFaecherGruppen; //# sourceMappingURL=AbschlussFaecherGruppen.js.map