123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- import { JavaObject } from '../../java/lang/JavaObject';
- import { KursblockungInput } from '../../core/data/kursblockung/KursblockungInput';
- import { KursblockungDynKurs } from '../../core/kursblockung/KursblockungDynKurs';
- import { Logger } from '../../logger/Logger';
- import { KursblockungDynStatistik } from '../../core/kursblockung/KursblockungDynStatistik';
- import { KursblockungOutput } from '../../core/data/kursblockung/KursblockungOutput';
- import { KursblockungDynSchueler } from '../../core/kursblockung/KursblockungDynSchueler';
- export declare class KursblockungDynDaten extends JavaObject {
- private readonly logger;
- private readonly regelMap;
- private maxTimeMillis;
- private schienenArr;
- private kursArr;
- private kursArrFrei;
- private readonly kursMap;
- private fachartArr;
- private readonly fachartMap;
- private schuelerArr;
- private readonly schuelerMap;
- private readonly statistik;
- /**
- * Der Konstruktor der Klasse liest alle Daten von {@link KursblockungInput} ein
- * und baut die relevanten Datenstrukturen auf.
- *
- * @param pLogger Logger für Benutzerhinweise, Warnungen und Fehler.
- * @param pInput Die Eingabedaten (Schnittstelle zur GUI).
- */
- constructor(pLogger: Logger, pInput: KursblockungInput);
- /**
- * Überprüft alle Referenzen in {@link KursblockungInput} und auch die
- * referentielle Integrität.
- *
- * @param pInput Das {@link KursblockungInput}-Objekt von der GUI.
- * @return {@code true}, falls kein Fehler gefunden wurde.
- */
- private schritt01FehlerBeiReferenzen;
- private schritt02FehlerBeiRegelGruppierung;
- private schritt03FehlerBeiFachartenErstellung;
- private schritt04FehlerBeiSchuelerErstellung;
- private schritt05FehlerBeiSchuelerFachwahlenErstellung;
- private schritt06FehlerBeiStatistikErstellung;
- private schritt07FehlerBeiSchienenErzeugung;
- private schritt08FehlerBeiKursErstellung;
- private schritt09FehlerBeiKursFreiErstellung;
- private schritt10FehlerBeiFachartKursArrayErstellung;
- /**
- * Leert die Datenstruktur und teilt dem Logger einen Fehler mit.
- *
- * @param fehlermeldung Die Fehlermeldung.
- */
- private fehler;
- /**
- * Liefert das Logger-Objekt für Benutzerhinweise, Warnungen und Fehler.
- *
- * @return Das Logger-Objekt für Benutzerhinweise, Warnungen und Fehler.
- */
- gibLogger(): Logger;
- /**
- * Liefert das Statistik-Objekt (für Anfragen zu Nichtwahlen, Kursdifferenzen,
- * etc.).
- *
- * @return Das Statistik-Objekt (für Anfragen zu Nichtwahlen, Kursdifferenzen,
- * etc.).
- */
- gibStatistik(): KursblockungDynStatistik;
- /**
- * Liefert die maximale Blockungszeit in Millisekunden. Entweder handelt es sich
- * um einen Standardwert oder der Wert wurde im Konstruktor als Regel übergeben.
- *
- * @return Liefert die maximale Blockungszeit in Millisekunden.
- */
- gibBlockungszeitMillis(): number;
- /**
- * Liefert die maximal erlaubte Anzahl an Schienen. Entweder handelt es sich um
- * einen Standardwert oder der Wert wurde im Konstruktor als Regel übergeben.
- *
- * @return Liefert die maximal erlaubte Anzahl an Schienen.
- */
- gibSchienenAnzahl(): number;
- /**
- * Erzeugt ein Objekt {@link KursblockungOutput}. Dieses Objekt beinhaltet alle
- * Informationen aus denen die GUI die Kurs-Zu-Schiene und die
- * SuS-Zu-Kurs-Zuordnungen rekonstruieren kann.
- *
- * @return Das Blockungsergebnis für die GUI.
- */
- gibErzeugtesKursblockungOutput(): KursblockungOutput;
- /**
- * Liefert alle Kurse.
- *
- * @return Array aller Kurse.
- */
- gibKurseAlle(): Array<KursblockungDynKurs>;
- /**
- * Liefert alle Kurse deren Lage nicht komplett fixiert ist.
- *
- * @return Array aller Kurse, deren Schienenlage noch veränderbar ist.
- */
- gibKurseDieFreiSind(): Array<KursblockungDynKurs>;
- /**
- * Liefert die Anzahl alle Kurse deren Lage nicht komplett fixiert ist.
- *
- * @return Anzahl aller Kurse, deren Schienenlage noch veränderbar ist.
- */
- gibKurseDieFreiSindAnzahl(): number;
- /**
- * Liefert einen Long-Wert, der einer Bewertung der Fachwahlmatrix entspricht.
- * Je kleiner der Wert, desto besser ist die Bewertung.
- *
- * @return Long-Wert, der einer Bewertung der Fachwahlmatrix entspricht.
- */
- gibBewertungFachartPaar(): number;
- /**
- * Liefert ein Array aller Schülerinnen und Schüler. Falls der Parameter
- * {@code pNurMultiKurse} TRUE ist, dann werden nur SuS mit mindestens einem
- * Multikurs ausgewählt.
- *
- * @param pNurMultiKurse Falls TRUE, dann werden nur SuS mit mindestens einem
- * Multikurs ausgewählt.
- *
- * @return Ein Array aller Schülerinnen und Schüler.
- */
- gibSchuelerArray(pNurMultiKurse: boolean): Array<KursblockungDynSchueler>;
- /**
- * Entfernt alle SuS aus ihren Kursen.
- */
- aktionSchuelerAusAllenKursenEntfernen(): void;
- /**
- * Debug Ausgaben. Nur für Testzwecke.
- */
- debug(): void;
- /**
- * Speichert die Bewertung, die Kursverteilung und die Schülerverteilung im
- * Zustand S.
- */
- aktionZustandSpeichernS(): void;
- /**
- * Speichert die Bewertung, die Kursverteilung und die Schülerverteilung im
- * Zustand K.
- */
- aktionZustandSpeichernK(): void;
- /**
- * Lädt den zuvor gespeicherten Zustand S (Kursverteilung und
- * Schülerverteilung).
- */
- aktionZustandLadenS(): void;
- /**
- * Lädt den zuvor gespeicherten Zustand Z (Kursverteilung und
- * Schülerverteilung).
- */
- aktionZustandLadenK(): void;
- /**
- * Liefert den Wert {@code -1, 0 oder +1}, falls die Bewertung (Nichtwahlen,
- * Kursdiffenzen) des Zustandes S sich verschlechtert (-1), sich verbessert (+1)
- * hat oder gleichgeblieben (0) ist.
- *
- * @return {@code -1, 0 oder +1}, falls die Bewertung (Nichtwahlen,
- * Kursdiffenzen) des Zustandes S sich verschlechtert (-1), sich
- * verbessert (+1) hat oder gleichgeblieben (0) ist.
- */
- gibBewertungJetztBesserAlsS(): number;
- /**
- * Liefert den Wert {@code -1, 0 oder +1}, falls die Bewertung (Nichtwahlen,
- * Kursdiffenzen) des Zustandes K sich verschlechtert (-1), sich verbessert (+1)
- * hat oder gleichgeblieben (0) ist.
- *
- * @return {@code -1, 0 oder +1}, falls die Bewertung (Nichtwahlen,
- * Kursdiffenzen) des Zustandes K sich verschlechtert (-1), sich
- * verbessert (+1) hat oder gleichgeblieben (0) ist.
- */
- gibBewertungJetztBesserAlsK(): number;
- /**
- * Verteilte alle Kurse auf ihre Schienen zufällig. Kurse die keinen
- * Freiheitsgrad haben, werden dabei ignoriert.
- */
- aktionKurseFreieZufaelligVerteilen(): void;
- /**
- * Verteilt einen Kurs zufällig. Kurse die keinen Freiheitsgrad haben, werden
- * dabei ignoriert.
- */
- aktionKursFreienEinenZufaelligVerteilen(): void;
- /**
- * Liefert den Wert {@code -1, 0 oder +1}, falls die Bewertung (Nichtwahlen,
- * Kursdiffenzen) des Zustandes S sich verschlechtert (-1), sich verbessert (+1)
- * hat oder gleichgeblieben (0) ist.
- *
- * @return {@code -1, 0 oder +1}, falls die Bewertung (Nichtwahlen,
- * Kursdiffenzen) des Zustandes K sich verschlechtert (-1), sich
- * verbessert (+1) hat oder gleichgeblieben (0) ist.
- */
- gibBewertung_NW_KD_JetztS(): number;
- isTranspiledInstanceOf(name: string): boolean;
- }
- export declare function cast_de_nrw_schule_svws_core_kursblockung_KursblockungDynDaten(obj: unknown): KursblockungDynDaten;
|