KursblockungAlgorithmusS.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { JavaObject, cast_java_lang_Object } from '../../java/lang/JavaObject';
  2. import { KursblockungDynDaten, cast_de_nrw_schule_svws_core_kursblockung_KursblockungDynDaten } from '../../core/kursblockung/KursblockungDynDaten';
  3. import { Logger, cast_de_nrw_schule_svws_logger_Logger } from '../../logger/Logger';
  4. export abstract class KursblockungAlgorithmusS extends JavaObject {
  5. protected readonly logger : Logger;
  6. protected readonly dynDaten : KursblockungDynDaten;
  7. /**
  8. * Der Konstruktor stellt einen Logger und die bei der Blockung benötigten
  9. * dynamischen Daten den Unterklassen zur Verfügung.
  10. *
  11. * @param logger Logger für Benutzerhinweise, Warnungen und Fehler.
  12. * @param dynDaten Die aktuellen Blockunsdaten.
  13. */
  14. public constructor(logger : Logger, dynDaten : KursblockungDynDaten) {
  15. super();
  16. this.logger = logger;
  17. this.dynDaten = dynDaten;
  18. }
  19. /**
  20. * Eine Unterklasse, die diese Methode implementiert, berechnet eine Verteilung
  21. * der SuS auf die Kurse.
  22. *
  23. * @param pMaxTimeMillis Die maximale Berechnungszeit in Millisekunden.
  24. */
  25. public abstract berechne(pMaxTimeMillis : number) : void;
  26. isTranspiledInstanceOf(name : string): boolean {
  27. return ['de.nrw.schule.svws.core.kursblockung.KursblockungAlgorithmusS'].includes(name);
  28. }
  29. }
  30. export function cast_de_nrw_schule_svws_core_kursblockung_KursblockungAlgorithmusS(obj : unknown) : KursblockungAlgorithmusS {
  31. return obj as KursblockungAlgorithmusS;
  32. }