KursblockungDynSchueler.d.ts 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import { JavaObject } from '../../java/lang/JavaObject';
  2. import { KursblockungDynFachart } from '../../core/kursblockung/KursblockungDynFachart';
  3. import { KursblockungDynStatistik } from '../../core/kursblockung/KursblockungDynStatistik';
  4. import { KursblockungInputSchueler } from '../../core/data/kursblockung/KursblockungInputSchueler';
  5. import { Vector } from '../../java/util/Vector';
  6. import { KursblockungOutputFachwahlZuKurs } from '../../core/data/kursblockung/KursblockungOutputFachwahlZuKurs';
  7. export declare class KursblockungDynSchueler extends JavaObject {
  8. private readonly representation;
  9. private fachartArr;
  10. private fachartZuGUI;
  11. private fachartZuKurs;
  12. private fachartZuKursSaveS;
  13. private fachartZuKursSaveK;
  14. private readonly statistik;
  15. private nichtwahlen;
  16. private readonly schieneBelegt;
  17. private static dummy;
  18. private matrix;
  19. /**
  20. * Im Konstruktor wird {@code pSchueler} in ein Objekt dieser Klasse
  21. * umgewandelt.
  22. *
  23. * @param pStatistik Referenz um die Nichtwahlen mitzuteilen.
  24. * @param pSchueler Die Schüler-Daten von der GUI/DB.
  25. * @param pSchienenAnzahl Wir benötigt, um {@link #schieneBelegt} zu
  26. * initialisieren.
  27. */
  28. constructor(pSchueler: KursblockungInputSchueler, pStatistik: KursblockungDynStatistik, pSchienenAnzahl: number);
  29. toString(): String;
  30. /**
  31. * Eine String-Darstellung des Schülers. Beinhaltet meistens den Vornamen, den
  32. * Nachnamen, das Geburtsdatum und das Geschlecht.
  33. *
  34. * @return Eine String-Darstellung des Schülers.
  35. */
  36. gibRepresentation(): String;
  37. /**
  38. * Liefert die aktuelle Anzahl an Nichtwahlen.
  39. *
  40. * @return Die aktuelle Anzahl an Nichtwahlen.
  41. */
  42. gibNichtwahlen(): number;
  43. /**
  44. * Liefert ein Array aller Facherten (= Fachwahlen) des Schülers.
  45. *
  46. * @return Ein Array aller Facherten (= Fachwahlen) des Schülers.
  47. */
  48. gibFacharten(): Array<KursblockungDynFachart>;
  49. /**
  50. * Setzt alle Facharten (=Fachwahlen) des Schülers.
  51. *
  52. * @param pFacharten Die Facharten des Schülers.
  53. * @param pIDs Die zur Fachwahl zugehörige ID der GUI bzw. Datenbank.
  54. */
  55. aktionSetzeFachartenUndIDs(pFacharten: Array<KursblockungDynFachart>, pIDs: Array<number>): void;
  56. /**
  57. * Speichert die aktuell belegten Kurse im Zustand S.
  58. */
  59. aktionZustandSpeichernS(): void;
  60. /**
  61. * Speichert die aktuell belegten Kurse im Zustand K.
  62. */
  63. aktionZustandSpeichernK(): void;
  64. /**
  65. * Entfernt zunächst den Schüler aus seinen aktuellen Kursen und setzt ihn dann
  66. * in die Kurse, die zuvor im Zustand S gespeichert wurden.
  67. */
  68. aktionZustandLadenS(): void;
  69. /**
  70. * Entfernt zunächst den Schüler aus seinen aktuellen Kursen und setzt ihn dann
  71. * in die Kurse, die zuvor im Zustand K gespeichert wurden.
  72. */
  73. aktionZustandLadenK(): void;
  74. private aktionWaehleKurse;
  75. /**
  76. * Entfernt den Schüler aus seinen aktuell zugeordneten Kursen.
  77. */
  78. aktionKurseAlleEntfernen(): void;
  79. /**
  80. * Geht die Facharten durch (Facharten mit einer kleineren Kursanzahl zuerst)
  81. * und geht dann pro Fachart alle Kurse durch (Kurse mit kleinerer Schüleranzahl
  82. * zuerst). Falls der Kurs wählbar ist, wird der Schüler hinzugefügt und es geht
  83. * weiter mit der nächsten Fachart. Ein Kurs ist wählbar, wenn nicht bereits ein
  84. * Kurs zugeordnet wurde und die Schienen in den der Kurs sind frei sind.<br>
  85. *
  86. * Falls der Paramter {@code pNurMultikurse} TRUE ist, dann werden nur
  87. * Multikurse verteilt.
  88. *
  89. * @param pNurMultikurse Falls TRUE ist, dann werden nur Multikurse verteilt.
  90. */
  91. aktionKurseZufaelligVerteilen(pNurMultikurse: boolean): void;
  92. /**
  93. * Verteilt alle Kurse die über genau 1 Schiene gehen mit Hilfe eines Matching
  94. * Algorithmus.
  95. */
  96. aktionKurseMitBipartiteMatchingVerteilen(): void;
  97. /**
  98. * Erzeugt pro Fachwahl ein Objekt des Typs
  99. * {@link KursblockungOutputFachwahlZuKurs} und fügt es dem Vector
  100. * {@code vFachwahlZuKurs} hinzu. Die GUI kann daraus die
  101. * Schüler-Zu-Kurs-Zuordnungen rekonstruiern.
  102. *
  103. * @param vFachwahlZuKurs Fügt diesem Vector pro Fachwahl ein Objekt des Typs
  104. * {@link KursblockungOutputFachwahlZuKurs} hinzu.
  105. */
  106. aktionOutputsErzeugen(vFachwahlZuKurs: Vector<KursblockungOutputFachwahlZuKurs>): void;
  107. /**
  108. * Liefert TRUE, falls der Schüler mindestens einen Multikurs hat. Ein Multikurs
  109. * ist ein Kurs, der über mehr als eine Schiene geht.
  110. *
  111. * @return TRUE, falls der Schüler mindestens einen Multikurs hat.
  112. */
  113. gibHatMultikurs(): boolean;
  114. private aktionKursHinzufuegen;
  115. private aktionKursEntfernen;
  116. isTranspiledInstanceOf(name: string): boolean;
  117. }
  118. export declare function cast_de_nrw_schule_svws_core_kursblockung_KursblockungDynSchueler(obj: unknown): KursblockungDynSchueler;