Klasse AuftragsListe

java.lang.Object
de.inovat.dua.pufferlzzsnachfordern.AuftragsListe

public class AuftragsListe extends Object
Singletonklasse, welche die Auftragsliste für Pufferabfrageaufträge 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 synchronisiert.

  • Methodendetails

    • getInstanz

      public static AuftragsListe getInstanz()
      Liefert die Instanz des Singletons.
      Gibt zurück:
      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.
      Parameter:
      auftrag - Neuer Auftrag, der in die Liste der Aufträge eingetragen werden soll.
    • ausgabeGesamtListe

      public String ausgabeGesamtListe()
      Lieferte die formatierte Ausgabe aller Aufträge in der Auftragsliste.
      Gibt zurück:
      Formatierte Ausgabe aller Aufträge in der Auftragsliste
    • ausgabeTeilListe

      public String ausgabeTeilListe(VewDeLve255 vewDeLve255)
      Lieferte die formatierte Ausgabe aller Aufträge für ein bestimmtes Verwaltungsobjekt in der Auftragsliste.
      Parameter:
      vewDeLve255 - Verwaltungsobjekt, für das die Auftragsliste ausgegeben werden soll
      Gibt zurück:
      Formatierte Ausgabe aller Aufträge in der Auftragsliste
    • ermittleSpaetestenAusfuehrungsZeitPunkt

      public long ermittleSpaetestenAusfuehrungsZeitPunkt(VewDeLve255 vewDeLve255)
      Liefert den Ausführungszeitpunkt des aktuell letzten Auftrags für ein spezifisches Verwaltungsobjekt in der Auftragsliste zurück.
      Parameter:
      vewDeLve255 - Verwaltungsobjekt, für den die Aufträge untersucht werden.
      Gibt zurück:
      Ausführungszeitpunkt des aktuell letzten Auftrags in der Auftragsliste in ms oder aktueller Zeitpunkt, wenn keine passenden Aufträge in der Liste vorhanden sind.
    • hatNochAuftraege

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

      public List<Auftrag> holeKopieAuftragsListe()
      Liefert eine Kopie der Auftragsliste.
      Gibt zurück:
      Kopie der Auftragsliste.
    • holeNaechstenAuftrag

      public Auftrag holeNaechstenAuftrag()
      Liefert den, bezogen auf den aktuellen Zeitpunkt, nächsten auszuführenden Auftrag zurück.
      Gibt zurück:
      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.
    • istAuftragBereitsVorhanden

      public boolean istAuftragBereitsVorhanden(Auftrag auftrag)
      Prüft, ob ein identischer Auftrag bereits in der Liste vorhanden ist. Zwei Auftraege sind identisch, wenn Intervallbeginn, Intervallende und Verwaltungsobjekt identisch sind.
      Parameter:
      auftrag - Auftrag, für den getestet werden soll, ob ein identischer Auftrag bereits in der Liste vorliegt
      Gibt zurück:
      true, wenn identischer Auftrag bereits in der Auftragsliste vorhanden ist, sonst false
    • sindAuftraegeIdentisch

      public boolean sindAuftraegeIdentisch(Auftrag a1, Auftrag a2)
      Prüft, ob zwei Auftraege identisch sind. Zwei Auftraege sind identisch, wenn Intervallbeginn, Intervallende und Verwaltungsobjekt identisch sind (der Ausführungszeitpunkt wird NICHT berücksichtigt).
      Parameter:
      a1 - Zu vergleichende Auftraege.
      a2 - Zu vergleichende Auftraege.
      Gibt zurück:
      true, wenn Auftraege gleich sind, sonst false