Class AuftragsListe

java.lang.Object
de.bsvrz.kex.tls.osi7.deausfallueberwachung.AuftragsListe

public class AuftragsListe
extends java.lang.Object
Singletonklasse, welche die Auftragsliste für die DeAusfallUeberwachung verwaltet.

Die Auftragsliste ermöglicht das Hinzufügen von Aufträgen (Auftrag sowie die Entnahme des aktuell auszuführenden Auftrags. Die Zugriffe auf die Auftragsliste ist intern syncronisiert.

  • Method Summary

    Modifier and Type Method Description
    void addAuftrag​(Auftrag auftrag)
    Fügt einen neuen Auftrag zur Liste der Aufträge hinzu.
    static AuftragsListe getInstanz()
    Liefert die Instanz des Singletons.
    boolean hatNochAuftraege()
    Gibt zurück, ob noch Aufträge (aktuell oder zukünftig) anstehen.
    java.util.List<Auftrag> holeKopieAuftragsListe()
    Liefert eine Kopie der Auftragsliste, z.B. für Tests oder Debugausgaben des aktuellen Stands zu einem bestimmten Zeitpunkt.
    Auftrag holeNaechstenAuftrag()
    Liefert den, bezogen auf den aktuellen Zeitpunkt, nächsten auszuführenden Auftrag zurück.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getInstanz

      public static AuftragsListe getInstanz()
      Liefert die Instanz des Singletons.
      Returns:
      Instanz des Singletons
    • addAuftrag

      public void addAuftrag​(Auftrag auftrag)
      Fügt einen neuen Auftrag zur Liste der Aufträge hinzu. Die Liste wird intern so sortiert, dass die Methode holeNaechstenAuftrag() immer den zum aktuellen Zeitpunkt nächsten auszuführenden Auftrag zurückliefert.
      Parameters:
      auftrag - Neuer Auftrag, der in die Liste der Aufträge eingetragen werden soll.
    • hatNochAuftraege

      public boolean hatNochAuftraege()
      Gibt zurück, ob noch Aufträge (aktuell oder zukünftig) anstehen.
      Returns:
      true, wenn noch Aufträge (aktuell oder zukünftig) anstehen, andernfalls false.
    • holeKopieAuftragsListe

      public java.util.List<Auftrag> holeKopieAuftragsListe()
      Liefert eine Kopie der Auftragsliste, z.B. für Tests oder Debugausgaben des aktuellen Stands zu einem bestimmten Zeitpunkt.
      Returns:
      Kopie der Auftragsliste.
    • holeNaechstenAuftrag

      public Auftrag holeNaechstenAuftrag()
      Liefert den, bezogen auf den aktuellen Zeitpunkt, nächsten auszuführenden Auftrag zurück.
      Returns:
      Nächster auszuführender Auftrag oder null, wenn kein Auftrag aktuell auszuführen ist. Der zurückgegebene Auftrag wird entfernt und kann nicht noch einmal abgerufen werden.