import { JavaObject } from '../../../java/lang/JavaObject'; import { GostFach } from '../../../core/data/gost/GostFach'; import type { Comparator } from '../../../java/util/Comparator'; import { GostJahrgangFachkombination } from '../../../core/data/gost/GostJahrgangFachkombination'; import type { Collection } from '../../../java/util/Collection'; import type { List } from '../../../java/util/List'; import { Class } from '../../../java/lang/Class'; export declare class GostFaecherManager extends JavaObject { /** * Sortiert die Fächer anhand ihrer konfigurierten Sortierung */ static readonly comp: Comparator; /** * das Schuljahr, für welches der Fächer-Manager die Fächer verwaltet */ private readonly schuljahr; /** * Die Liste der Fächer, die im Manager vorhanden sind. */ private readonly _faecher; /** * Eine HashMap für den schnellen Zugriff auf ein Fach anhand der ID */ private readonly _map; /** * Eine HashMap für den schnellen Zugriff auf die Fächer anhand des Statistik-Kürzels des Faches */ private readonly _mapByKuerzel; /** * Eine HashMap für den schnellen Zugriff auf die Fremdsprachen-Fächer anhand des Sprachenkürzels */ private readonly _mapBySprachkuerzel; /** * Eine Map für den schnellen Zugriff auf die Fächer, welche als Leitfächer zur Verfügung stehen. */ private readonly _leitfaecher; /** * Die Liste der erforderlichen oder nicht erlaubten Fachkombinationen */ private readonly _fachkombis; /** * Die Liste mit den geforderten Fachkombinationen */ private readonly _fachkombisErforderlich; /** * Die Liste mit den nicht erlaubten Fachkombinationen */ private readonly _fachkombisVerboten; /** * Erstelle einen neuen Manager mit einer leeren Fächerliste * * @param schuljahr das Schuljahr, für welches der Fächer-Manager die Fächer verwaltet */ constructor(schuljahr: number); /** * Erstellt einen neuen Manager mit den übergebenen Fächern. * * @param schuljahr das Schuljahr, für welches der Fächer-Manager die Fächer verwaltet * @param faecher die Liste mit den Fächern */ constructor(schuljahr: number, faecher: List); /** * Erstellt einen neuen Manager mit den übergebenen Fächern und den * übergebenen geforderten und nicht erlaubten Fächerkombinationen. * * @param schuljahr das Schuljahr, für welches der Fächer-Manager die Fächer verwaltet * @param faecher die Liste mit den Fächern * @param fachkombis die Liste mit den Fächerkombinationen */ constructor(schuljahr: number, faecher: List, fachkombis: List); /** * Gibt das Schuljahr des Managers zurück, d.h. das Schuljahr, für welches die Fächer der Oberstufe verwaltet werden. * * @return das Schuljahr */ getSchuljahr(): number; /** * Fügt das übergebene Fach zu diesem Manager hinzu. Die interne Sortierung wird nicht korrigiert. * * @param fach das hinzuzufügende Fach * * @return true, falls das Fach hinzugefügt wurde * * @throws DeveloperNotificationException Falls die ID des Faches negativ ist. */ private addFachInternal; /** * Führt eine Sortierung der Fächer anhand des Sortierungsfeldes durch. */ private sort; /** * Fügt die übergebene Fachkombination zu diesem Manager hinzu. * * @param fachkombi die hinzuzufügende Fachkombination * * @return true, falls die Fachkombination hinzugefügt wurde * * @throws DeveloperNotificationException Falls die Fachkombination nicht zu den Fächern des Managers passt. */ private addFachkombinationInternal; /** * Fügt das übergebene Fach zu diesem Manager hinzu und * passt intern die Sortierung der Fächer an. * * @param fach das hinzuzufügende Fach * * @return true, falls das Fach hinzugefügt wurde */ add(fach: GostFach): boolean; /** * Fügt die geforderten oder nicht erlaubte Fächerkombination zu diesem * Manager hinzu. * * @param fachkombi das hinzuzufügende Fachkombination * * @return true, falls die Fachkombination hinzugefügt wurde */ add(fachkombi: GostJahrgangFachkombination): boolean; /** * Fügt die Fächer in der übergeben Liste zu diesem Manager hinzu. * * @param faecher die hinzuzufügenden Fächer * * @return true, falls alle Fächer eingefügt wurden, sonst false */ addAll(faecher: Collection): boolean; /** * Fügt die geforderten und nicht erlaubten Fächerkombinationen in der übergebenen * Liste zu diesem Manager hinzu. * * @param fachkombis die hinzuzufügenden Fachkombinationen * * @return true, falls alle Fachkombinationen eingefügt wurden, sonst false */ addFachkombinationenAll(fachkombis: List): boolean; /** * Gibt das Fach mit der angegebenen ID zurück oder null, falls es das Fach nicht gibt. * * @param id die ID des gesuchten Faches * * @return Das fach mit der angegebenen ID oder null, falls es das Fach nicht gibt. */ get(id: number): GostFach | null; /** * Liefert das Fach mit der angegebenen ID zurück. * * @param idFach die ID des gesuchten Faches. * * @return Das Fach mit der angegebenen ID zurück. * * @throws DeveloperNotificationException Falls ein Fach mit der ID nicht bekannt ist. */ getOrException(idFach: number): GostFach; /** * Liefert die Liste der Fächer für das angegebene Statistik-Kürzel zurück. * * @param kuerzel das Statistik-Kürzel des gesuchten Faches * * @return eine Liste der Fächer, welche das angegebene Statistik-Kürzel haben */ getByKuerzel(kuerzel: string): List; /** * Liefert die Liste der Fächer für das angegebene Sprachkürzel zurück. * * @param sprache das Sprachkürzel der gesuchten Sprache * * @return eine Liste der Fächer, welche das angegebene Sprachkürzel haben */ getBySprachkuerzel(sprache: string): List; /** * Gibt zurück, ob die Liste der Fächer leer ist * * @return true, wenn die Liste der Fächer leer ist. */ isEmpty(): boolean; /** * Liefert die interne Liste der Fächer. Diese sollte nicht * verändert werden. * * @return die interne Liste der Fächer */ faecher(): List; /** * Liefert die Liste der Fächer, die nur die schriftlich möglichen Fächer enthält. * * @return die Liste der schriftlich möglichen Fächer */ getFaecherSchriftlichMoeglich(): List; /** * Liefert die interne Liste mit den Leitfächern zurück. * * @return die interne Liste mit den Leitfächern */ getLeitfaecher(): List; /** * Gibt eine Liste aller Fremdsprachen-Kürzel zurück, welche bei * den im Manager enthaltenen Fächer definiert sind. * * @return die Liste der Fremdsprachen-Kürzel */ getFremdsprachenkuerzel(): List; /** * Liefert die interne Liste mit den Fachkombinationen zurück. * * @return die interne Liste mit den Fachkombinationen */ getFachkombinationen(): List; /** * Liefert die interne Liste mit den geforderten Fachkombinationen zurück. * * @return die interne Liste mit den geforderten Fachkombinationen */ getFachkombinationenErforderlich(): List; /** * Liefert die interne Liste mit den nicht erlaubten Fachkombinationen zurück. * * @return die interne Liste mit den nicht erlaubten Fachkombinationen */ getFachkombinationenVerboten(): List; /** * Gibt an, ob es sich bei dem Fach mit der übergebenen ID um ein Projektkursfach handelt oder nicht. * * @param id die ID des Faches * * @return true, wenn es sich um ein Projektkurs-Fach handelt und ansonsten false. */ fachIstProjektkurs(id: number): boolean; /** * Gibt an, ob es sich bei dem Fach mit der übergebenen ID um einen Vertiefungskurs handelt oder nicht. * * @param id die ID des Faches * * @return true, wenn es sich um einen Vertiefungskurs handelt und ansonsten false. */ fachIstVertiefungskurs(id: number): boolean; /** * Gibt an, ob es sich bei dem Fach mit der übergebenen ID um Kunst handelt oder nicht. * * @param id die ID des Faches * * @return true, wenn es sich um Kunst handelt und ansonsten false. */ fachIstKunst(id: number): boolean; /** * Gibt an, ob es sich bei dem Fach mit der übergebenen ID um Musik handelt oder nicht. * * @param id die ID des Faches * * @return true, wenn es sich um Musik handelt und ansonsten false. */ fachIstMusik(id: number): boolean; transpilerCanonicalName(): string; isTranspiledInstanceOf(name: string): boolean; static class: Class; } export declare function cast_de_svws_nrw_core_utils_gost_GostFaecherManager(obj: unknown): GostFaecherManager; //# sourceMappingURL=GostFaecherManager.d.ts.map