de.bsvrz.ste.rdstmc.situation
Class VerwaltungStaus

java.lang.Object
  extended by de.bsvrz.ste.rdstmc.meldungserstellung.AbstraktVewDynObj<T>
      extended by de.bsvrz.ste.rdstmc.situation.AbstraktNetzVewDynObj<Situation>
          extended by de.bsvrz.ste.rdstmc.situation.VerwaltungStaus
All Implemented Interfaces:
de.bsvrz.dav.daf.main.config.InvalidationListener, de.bsvrz.dav.daf.main.config.MutableSetChangeListener, RDSParameterListener, java.lang.Runnable

public class VerwaltungStaus
extends AbstraktNetzVewDynObj<Situation>
implements java.lang.Runnable, RDSParameterListener

Verwaltung von Staus innerhalb eines Objekts vom Typ typ.netz.

Author:
Stefan Sans

Nested Class Summary
(package private)  class VerwaltungStaus.Stau
           
(package private)  class VerwaltungStaus.StauBereinigungsThread
           
 
Field Summary
private  de.bsvrz.dav.daf.main.ClientDavInterface _connection
          Datenverteiler-Verbindung
private static de.bsvrz.sys.funclib.debug.Debug _debug
          Debug-Logger für Logging-Ausgaben
private  java.util.Collection<SituationEigenschaftenListener> _listener
           
private  java.util.LinkedHashMap<VerwaltungStaus.Stau,de.bsvrz.dav.daf.main.Data> _queue
           
private  long _verzoegerung
           
static java.lang.String MENGE
           
static java.lang.String MENGEN_TYP
           
 int ZYKLUS
           
 
Constructor Summary
VerwaltungStaus(de.bsvrz.dav.daf.main.ClientDavInterface connection, de.bsvrz.dav.daf.main.config.ConfigurationObject netz, RDSParameterVerwaltung parameterVerwaltung, SituationEigenschaftenListener[] listener)
          Erzeugt eine neue Stau-Verwaltung
 
Method Summary
protected  Situation bereinigeObjekt(de.bsvrz.dav.daf.main.config.SystemObject obj)
          Wird von der Verwaltung aufgerufen und führt Bereinigungen durch, wenn ein dynamisches Ovjekt gelöscht oder aus der dynamischen Menge entfernt wird
protected  Situation erzeugeObjekt(de.bsvrz.dav.daf.main.config.SystemObject obj)
          Erzeuge eine neue Instanz vom verwalteten Objekttyp T
 de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
           
 void neueParameter(RDSParameterVerwaltung quelle, RDSParameterDaten daten)
          Zu implementierende Methode zur Notifizierung von RDS-Parameter-Änderungen
private  void put(VerwaltungStaus.Stau stau, de.bsvrz.dav.daf.main.Data daten)
           
 void run()
           
private  java.util.Map.Entry<VerwaltungStaus.Stau,de.bsvrz.dav.daf.main.Data> take()
           
 
Methods inherited from class de.bsvrz.ste.rdstmc.situation.AbstraktNetzVewDynObj
initialisiereNetz
 
Methods inherited from class de.bsvrz.ste.rdstmc.meldungserstellung.AbstraktVewDynObj
getVerwalteteObjekte, initialisiere, initialisiereObjekt, invalidObject, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_debug

private static final de.bsvrz.sys.funclib.debug.Debug _debug
Debug-Logger für Logging-Ausgaben


MENGE

public static final java.lang.String MENGE
See Also:
Constant Field Values

MENGEN_TYP

public static final java.lang.String MENGEN_TYP
See Also:
Constant Field Values

_connection

private de.bsvrz.dav.daf.main.ClientDavInterface _connection
Datenverteiler-Verbindung


_verzoegerung

private long _verzoegerung

_listener

private java.util.Collection<SituationEigenschaftenListener> _listener

_queue

private java.util.LinkedHashMap<VerwaltungStaus.Stau,de.bsvrz.dav.daf.main.Data> _queue

ZYKLUS

public final int ZYKLUS
See Also:
Constant Field Values
Constructor Detail

VerwaltungStaus

public VerwaltungStaus(de.bsvrz.dav.daf.main.ClientDavInterface connection,
                       de.bsvrz.dav.daf.main.config.ConfigurationObject netz,
                       RDSParameterVerwaltung parameterVerwaltung,
                       SituationEigenschaftenListener[] listener)
Erzeugt eine neue Stau-Verwaltung

Parameters:
netz - das Konfigurationsobjekt vom Typ typ.netz
Method Detail

getConnection

public de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
Returns:
die Datenverteiler-Verbindung

put

private void put(VerwaltungStaus.Stau stau,
                 de.bsvrz.dav.daf.main.Data daten)

take

private java.util.Map.Entry<VerwaltungStaus.Stau,de.bsvrz.dav.daf.main.Data> take()
                                                                           throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

erzeugeObjekt

protected Situation erzeugeObjekt(de.bsvrz.dav.daf.main.config.SystemObject obj)
Description copied from class: AbstraktVewDynObj
Erzeuge eine neue Instanz vom verwalteten Objekttyp T

Specified by:
erzeugeObjekt in class AbstraktVewDynObj<Situation>
Parameters:
obj - das dynamische DAV-Objekt, zu dem die Instanz vom Typ T erzeugt wird
Returns:
das erzeugte Objekt vom Typ T

bereinigeObjekt

protected Situation bereinigeObjekt(de.bsvrz.dav.daf.main.config.SystemObject obj)
Description copied from class: AbstraktVewDynObj
Wird von der Verwaltung aufgerufen und führt Bereinigungen durch, wenn ein dynamisches Ovjekt gelöscht oder aus der dynamischen Menge entfernt wird

Overrides:
bereinigeObjekt in class AbstraktVewDynObj<Situation>
Parameters:
obj - das dynamische Object, das entfernt wird
Returns:
die Instanz vom Typ T, für das die Verwaltung bereinigt wurde - für diese Instanz können jetzt ggf. weiter Resourcen freigegeben werden. Wenn die Bereinigung nicht erfolgreich war wird null zurückgegenen

run

public void run()
Specified by:
run in interface java.lang.Runnable

neueParameter

public void neueParameter(RDSParameterVerwaltung quelle,
                          RDSParameterDaten daten)
Description copied from interface: RDSParameterListener
Zu implementierende Methode zur Notifizierung von RDS-Parameter-Änderungen

Specified by:
neueParameter in interface RDSParameterListener
Parameters:
quelle - die Instanz, die die Änderung ausgelöst hat
daten - die geänderten Daten