123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- 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<KursblockungDynFachart>;
- /**
- * 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<KursblockungDynFachart>, pIDs: Array<number>): 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.<br>
- *
- * 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<KursblockungOutputFachwahlZuKurs>): 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;
|