import { JavaObject } from '../../java/lang/JavaObject'; import { KursblockungDynFachart } from '../../core/kursblockung/KursblockungDynFachart'; import { KursblockungDynStatistik } from '../../core/kursblockung/KursblockungDynStatistik'; import { KursblockungInputSchueler } from '../../core/data/kursblockung/KursblockungInputSchueler'; import { Vector } from '../../java/util/Vector'; import { KursblockungOutputFachwahlZuKurs } from '../../core/data/kursblockung/KursblockungOutputFachwahlZuKurs'; export declare class KursblockungDynSchueler extends JavaObject { private readonly representation; private fachartArr; private fachartZuGUI; private fachartZuKurs; private fachartZuKursSaveS; private fachartZuKursSaveK; private readonly statistik; private nichtwahlen; private readonly schieneBelegt; private static dummy; private matrix; /** * Im Konstruktor wird {@code pSchueler} in ein Objekt dieser Klasse * umgewandelt. * * @param pStatistik Referenz um die Nichtwahlen mitzuteilen. * @param pSchueler Die Schüler-Daten von der GUI/DB. * @param pSchienenAnzahl Wir benötigt, um {@link #schieneBelegt} zu * initialisieren. */ constructor(pSchueler: KursblockungInputSchueler, pStatistik: KursblockungDynStatistik, pSchienenAnzahl: number); toString(): String; /** * Eine String-Darstellung des Schülers. Beinhaltet meistens den Vornamen, den * Nachnamen, das Geburtsdatum und das Geschlecht. * * @return Eine String-Darstellung des Schülers. */ gibRepresentation(): String; /** * Liefert die aktuelle Anzahl an Nichtwahlen. * * @return Die aktuelle Anzahl an Nichtwahlen. */ gibNichtwahlen(): number; /** * Liefert ein Array aller Facherten (= Fachwahlen) des Schülers. * * @return Ein Array aller Facherten (= Fachwahlen) des Schülers. */ gibFacharten(): Array; /** * Setzt alle Facharten (=Fachwahlen) des Schülers. * * @param pFacharten Die Facharten des Schülers. * @param pIDs Die zur Fachwahl zugehörige ID der GUI bzw. Datenbank. */ aktionSetzeFachartenUndIDs(pFacharten: Array, pIDs: Array): void; /** * Speichert die aktuell belegten Kurse im Zustand S. */ aktionZustandSpeichernS(): void; /** * Speichert die aktuell belegten Kurse im Zustand K. */ aktionZustandSpeichernK(): void; /** * Entfernt zunächst den Schüler aus seinen aktuellen Kursen und setzt ihn dann * in die Kurse, die zuvor im Zustand S gespeichert wurden. */ aktionZustandLadenS(): void; /** * Entfernt zunächst den Schüler aus seinen aktuellen Kursen und setzt ihn dann * in die Kurse, die zuvor im Zustand K gespeichert wurden. */ aktionZustandLadenK(): void; private aktionWaehleKurse; /** * Entfernt den Schüler aus seinen aktuell zugeordneten Kursen. */ aktionKurseAlleEntfernen(): void; /** * Geht die Facharten durch (Facharten mit einer kleineren Kursanzahl zuerst) * und geht dann pro Fachart alle Kurse durch (Kurse mit kleinerer Schüleranzahl * zuerst). Falls der Kurs wählbar ist, wird der Schüler hinzugefügt und es geht * weiter mit der nächsten Fachart. Ein Kurs ist wählbar, wenn nicht bereits ein * Kurs zugeordnet wurde und die Schienen in den der Kurs sind frei sind.
* * Falls der Paramter {@code pNurMultikurse} TRUE ist, dann werden nur * Multikurse verteilt. * * @param pNurMultikurse Falls TRUE ist, dann werden nur Multikurse verteilt. */ aktionKurseZufaelligVerteilen(pNurMultikurse: boolean): void; /** * Verteilt alle Kurse die über genau 1 Schiene gehen mit Hilfe eines Matching * Algorithmus. */ aktionKurseMitBipartiteMatchingVerteilen(): void; /** * Erzeugt pro Fachwahl ein Objekt des Typs * {@link KursblockungOutputFachwahlZuKurs} und fügt es dem Vector * {@code vFachwahlZuKurs} hinzu. Die GUI kann daraus die * Schüler-Zu-Kurs-Zuordnungen rekonstruiern. * * @param vFachwahlZuKurs Fügt diesem Vector pro Fachwahl ein Objekt des Typs * {@link KursblockungOutputFachwahlZuKurs} hinzu. */ aktionOutputsErzeugen(vFachwahlZuKurs: Vector): void; /** * Liefert TRUE, falls der Schüler mindestens einen Multikurs hat. Ein Multikurs * ist ein Kurs, der über mehr als eine Schiene geht. * * @return TRUE, falls der Schüler mindestens einen Multikurs hat. */ gibHatMultikurs(): boolean; private aktionKursHinzufuegen; private aktionKursEntfernen; isTranspiledInstanceOf(name: string): boolean; } export declare function cast_de_nrw_schule_svws_core_kursblockung_KursblockungDynSchueler(obj: unknown): KursblockungDynSchueler;