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.
-
Method Details
-
getInstanz
Liefert die Instanz des Singletons.- Returns:
- Instanz des Singletons
-
addAuftrag
Fügt einen neuen Auftrag zur Liste der Aufträge hinzu. Die Liste wird intern so sortiert, dass die MethodeholeNaechstenAuftrag()
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, andernfallsfalse
.
-
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
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.
-