Klasse KlausurterminblockungAlgorithmusAbstract

java.lang.Object
de.svws_nrw.core.utils.gost.klausurplanung.KlausurterminblockungAlgorithmusAbstract
Bekannte direkte Unterklassen:
KlausurterminblockungAlgorithmusGreedy1, KlausurterminblockungAlgorithmusGreedy1b, KlausurterminblockungAlgorithmusGreedy2, KlausurterminblockungAlgorithmusGreedy2b, KlausurterminblockungAlgorithmusGreedy3

public abstract class KlausurterminblockungAlgorithmusAbstract extends Object
Ein Algorithmus der diese Klasse erweitert verteilt Klausuren auf Termine (ohne zugeordnetem Datum).
Ziel ist es die minimale Anzahl an Terminen zu verwenden und dabei ggf. Regeln einzuhalten.
Pro Termin dürfen nicht zwei Klausuren landen, die dem selben Schüler zugeordnet sind.
  • Felddetails

    • _random

      @NotNull protected final @NotNull Random _random
      Ein Random-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed.
    • _dynDaten

      @NotNull protected final @NotNull KlausurterminblockungDynDaten _dynDaten
      Die aktuellen Blockungsdaten. Dieses Objekt dient zur Manipulation der Daten während des Blockungsvorganges.
  • Konstruktordetails

    • KlausurterminblockungAlgorithmusAbstract

      protected KlausurterminblockungAlgorithmusAbstract(@NotNull @NotNull Random pRandom, @NotNull @NotNull KlausurterminblockungDynDaten pDynDaten)
      Der Konstruktor.
      Parameter:
      pRandom - Ein Random-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed.
      pDynDaten - Die aktuellen Blockungsdaten.
  • Methodendetails

    • berechne

      public abstract void berechne(long pZeitEnde)
      Eine Unterklasse, die diese Methode implementiert, berechnet eine Verteilung der Klausuren auf Termine, beachtet dabei potentielle Regeln und überschreitet nicht die Endzeit (in Millisekunden).
      Parameter:
      pZeitEnde - Die Endzeit (in Millisekunden).