de.bsvrz.vew.engvew.verwaltung
Class VerwaltungSituationen

java.lang.Object
  extended by de.bsvrz.vew.engvew.verwaltung.VerwaltungSituationen
All Implemented Interfaces:
de.bsvrz.dav.daf.main.config.InvalidationListener, de.bsvrz.dav.daf.main.config.MutableSetChangeListener
Direct Known Subclasses:
VerwaltungEngstellen, VerwaltungStaus

public abstract class VerwaltungSituationen
extends java.lang.Object
implements de.bsvrz.dav.daf.main.config.MutableSetChangeListener, de.bsvrz.dav.daf.main.config.InvalidationListener

Klasse zur Verwaltung von Objekten vom Typ Situation von VerkehrsModellNetzen.
Diese abstracte Klasse stellt Funktionalität zur Verfügung, um aus einem Objekt vom Typ typ.netz rekursiv alle enthaltenen Objekte vom Typ typ.verkehrsModellNetz abzuarbeiten und aus den Enthaltenen Mengen Elemente (Engstellen, Staus etc.) zu verwalten. Die Verwaltung erstreckt sich auf die Überwachung der Mengen und der Löschung (Invalidierung) ihrer Elemente.

Version:
$Revision: 1.1 $ / $Date: 2008/10/31 13:14:30 $ / ($Author: Sans $)
Author:
Dambach Werke GmbH, Stefan Sans

Field Summary
private static de.bsvrz.sys.funclib.debug.Debug _debug
          Debug-Logger für Logging-Ausgaben
private  java.util.Map<java.lang.String,Situation> _verwalteteObjekte
          Die Menge der verwalteten Situationen
 
Constructor Summary
VerwaltungSituationen()
           
 
Method Summary
protected  void bereinigeSituation(Situation situation)
          Die Methode bereinigeSituation wird aufgerufen, wenn ein verwaltetes Objekt aus der Menge der verwalteteten Objekte entfernt wird
private  boolean bereinigeSituation(de.bsvrz.dav.daf.main.config.SystemObject obj)
          Bereinigt die Engstellenverwaltung, wenn eine Engstelle entfernt wird
protected abstract  Situation erzeugeSituation(de.bsvrz.dav.daf.main.config.SystemObject objekt)
          Erzeuge eine neue Instanz vom verwalteten Objekttyp (Supertyp Situation
 java.util.Collection<Situation> getVerwalteteObjekte()
          Read-only Zugriff auf die verwalteten Objkete
protected  void initialisiereMenge(de.bsvrz.dav.daf.main.config.ConfigurationObject vmn, java.lang.String mengeBezeichner)
          Initialisiert die Menge der verwalteten Objekte mit den Elementen einer Menge, die zu einem VerkehrsModellNetz gehört
protected  boolean initialisiereNetz(de.bsvrz.dav.daf.main.config.ConfigurationObject netz)
          Initialisierte aus dem übergebene Netz - rekursiv alle enthaltenen Objekte vom Typ typ.verkehrsModellNetz
private  boolean initialisiereSituation(de.bsvrz.dav.daf.main.config.SystemObject obj)
          Initialisiert die Situationsverwaltung, wenn eine weitere Situation hinzugekommen ist
protected abstract  void initialisiereVerkehrsModellNetz(de.bsvrz.dav.daf.main.config.ConfigurationObject vmn)
          Die Methode initialisiereVerkehrsModellNetz wird von initialisiereNetz(de.bsvrz.dav.daf.main.config.ConfigurationObject) für jedes Netz (typ.netz) aufgerufen, das auch vom Typ typ.verkehrsModellNetz ist.
 void invalidObject(de.bsvrz.dav.daf.main.config.DynamicObject dynamicObject)
           
 void update(de.bsvrz.dav.daf.main.config.MutableSet set, de.bsvrz.dav.daf.main.config.SystemObject[] addedObjects, de.bsvrz.dav.daf.main.config.SystemObject[] removedObjects)
           
 
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


_verwalteteObjekte

private java.util.Map<java.lang.String,Situation> _verwalteteObjekte
Die Menge der verwalteten Situationen

Constructor Detail

VerwaltungSituationen

public VerwaltungSituationen()
Method Detail

getVerwalteteObjekte

public java.util.Collection<Situation> getVerwalteteObjekte()
Read-only Zugriff auf die verwalteten Objkete

Returns:
Sammlung (nicht modifizierbar) der verwalteten Objekte

erzeugeSituation

protected abstract Situation erzeugeSituation(de.bsvrz.dav.daf.main.config.SystemObject objekt)
Erzeuge eine neue Instanz vom verwalteten Objekttyp (Supertyp Situation

Parameters:
objekt - das Stellvertreter-Systemobjekt vom Typ typ.situation
Returns:
das erzeugete Objekt

initialisiereVerkehrsModellNetz

protected abstract void initialisiereVerkehrsModellNetz(de.bsvrz.dav.daf.main.config.ConfigurationObject vmn)
Die Methode initialisiereVerkehrsModellNetz wird von initialisiereNetz(de.bsvrz.dav.daf.main.config.ConfigurationObject) für jedes Netz (typ.netz) aufgerufen, das auch vom Typ typ.verkehrsModellNetz ist.

Parameters:
vmn - zu initialisierendes Objekt vom Typ typ.verkehrsModellNetz

bereinigeSituation

protected void bereinigeSituation(Situation situation)
Die Methode bereinigeSituation wird aufgerufen, wenn ein verwaltetes Objekt aus der Menge der verwalteteten Objekte entfernt wird

Parameters:
situation - das zu entfernende Objekt

initialisiereNetz

protected boolean initialisiereNetz(de.bsvrz.dav.daf.main.config.ConfigurationObject netz)
Initialisierte aus dem übergebene Netz - rekursiv alle enthaltenen Objekte vom Typ typ.verkehrsModellNetz

Parameters:
netz - das zu initialisierende Objekt vom Typ typ.netz
Returns:
true, wenn mindestens ein Objekt vom Typ typ.verkehrsModellNetz initialisiert wurde, false sonst

initialisiereMenge

protected void initialisiereMenge(de.bsvrz.dav.daf.main.config.ConfigurationObject vmn,
                                  java.lang.String mengeBezeichner)
Initialisiert die Menge der verwalteten Objekte mit den Elementen einer Menge, die zu einem VerkehrsModellNetz gehört

Parameters:
vmn - Objekt vom Typ typ.verkehrsModellNetz, das die Menge enthält
mengeBezeichner - Bezeichner der Menge

initialisiereSituation

private boolean initialisiereSituation(de.bsvrz.dav.daf.main.config.SystemObject obj)
Initialisiert die Situationsverwaltung, wenn eine weitere Situation hinzugekommen ist

Parameters:
obj - das Object vom Typ Situation, dass hinzugekommen ist
Returns:
true, wenn das Objekt in die Verwaltung aufgenommen wurde, false sonst

bereinigeSituation

private boolean bereinigeSituation(de.bsvrz.dav.daf.main.config.SystemObject obj)
Bereinigt die Engstellenverwaltung, wenn eine Engstelle entfernt wird

Parameters:
obj - das Object vom Typ Engstelle, dass entfernt wurde
Returns:
true, wenn eine Bereinigung durchgeführt wurde, false sonst

update

public void update(de.bsvrz.dav.daf.main.config.MutableSet set,
                   de.bsvrz.dav.daf.main.config.SystemObject[] addedObjects,
                   de.bsvrz.dav.daf.main.config.SystemObject[] removedObjects)
Specified by:
update in interface de.bsvrz.dav.daf.main.config.MutableSetChangeListener

invalidObject

public void invalidObject(de.bsvrz.dav.daf.main.config.DynamicObject dynamicObject)
Specified by:
invalidObject in interface de.bsvrz.dav.daf.main.config.InvalidationListener