de.inovat.vew.autoexport
Class AuftragsListe

java.lang.Object
  extended by de.inovat.vew.autoexport.AuftragsListe

public class AuftragsListe
extends java.lang.Object

Singletonklasse, welche die Auftragsliste für Aggegationsaufträge verwaltet.

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

Version:
$Revision: 780 $ / $Date: 2012-10-31 11:44:41 +0100 (Mi, 31 Okt 2012) $ / ($Author: HCK $)
Author:
inovat, innovative systeme - verkehr - tunnel - technik, Dipl.-Ing. Hans Christian Kniß (HCK)

Field Summary
private static java.util.List<Auftrag> _listeAuftraege
           
private static AuftragsListe dieEinzigeInstanz
           
 
Constructor Summary
private AuftragsListe()
          Privater Konstruktor.
 
Method Summary
 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.
 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
 

Field Detail

dieEinzigeInstanz

private static AuftragsListe dieEinzigeInstanz

_listeAuftraege

private static final java.util.List<Auftrag> _listeAuftraege
Constructor Detail

AuftragsListe

private AuftragsListe()
Privater Konstruktor.

Method Detail

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.

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.