de.bsvrz.ste.rdstmc.meldungserstellung
Class AbstraktVewDynObj<T>

java.lang.Object
  extended by de.bsvrz.ste.rdstmc.meldungserstellung.AbstraktVewDynObj<T>
All Implemented Interfaces:
de.bsvrz.dav.daf.main.config.InvalidationListener, de.bsvrz.dav.daf.main.config.MutableSetChangeListener
Direct Known Subclasses:
AbstraktNetzVewDynObj

public abstract class AbstraktVewDynObj<T>
extends java.lang.Object
implements de.bsvrz.dav.daf.main.config.MutableSetChangeListener, de.bsvrz.dav.daf.main.config.InvalidationListener

Abtrakte Klasse zur Verwaltung von dynamischen DAV-Objekten. Diese abstrakte Klasse stellt Funktionalität zur Vefügung um generische Instanzen für dynamische DAV-Objekte, die in einer dynamischen Menge enthalten sind, zu verwalten
. Die verwalteten Instanzen werden in einer (nich modifizierbaren) Map mit der PID des dynamischen Objekts als Schlüssel zur Verfügung gestellt. Diese Map wird entsprechend den Änderungen in der dynamischen Objektmenge und den Löschungen (Invalidierungen) der dynamischen Objekte aktualisiert.
Zur Implementierung einer effektiven Verwaltung genügt die Implementierung der Methode erzeugeObjekt und aufrufen der Methode initialisiere z. B. im Konstruktor der beerbenden Klasse.

Version:
$Revision: 1.2 $ / $Date: 2009/04/03 08:58:04 $ / ($Author: Sans $)
Author:
Dambach Werke GmbH

Constructor Summary
AbstraktVewDynObj()
           
 
Method Summary
protected  T bereinigeObjekt(de.bsvrz.dav.daf.main.config.SystemObject sysObj)
          Wird von der Verwaltung aufgerufen und führt Bereinigungen durch, wenn ein dynamisches Ovjekt gelöscht oder aus der dynamischen Menge entfernt wird
protected abstract  T erzeugeObjekt(de.bsvrz.dav.daf.main.config.SystemObject sysObj)
          Erzeuge eine neue Instanz vom verwalteten Objekttyp T
 java.util.Map<java.lang.String,T> getVerwalteteObjekte()
          Read-only Zugriff auf die verwalteten Instanzen vom Typ T
protected  void initialisiere(de.bsvrz.dav.daf.main.config.ConfigurationObject konfigurationsObjekt, java.lang.String mengenBezeichner)
          Muss aufgerufen werden, um die Verwaltung für die aktuell in der dynamischen Menge enthaltenen Objekten zu initialisieren - z.
protected  T initialisiereObjekt(de.bsvrz.dav.daf.main.config.SystemObject sysObj)
          Wird von der Verwaltung aufgerufen und führt Initialisierungen durch, wenn ein dynamisches Objekt erzeugt oder der dynamischen Menge hinzugefügt wird
 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
 

Constructor Detail

AbstraktVewDynObj

public AbstraktVewDynObj()
Method Detail

getVerwalteteObjekte

public java.util.Map<java.lang.String,T> getVerwalteteObjekte()
Read-only Zugriff auf die verwalteten Instanzen vom Typ T

Returns:
Map (nicht modifizierbar) der verwalteten Objekte, Schlüssel ist die PID des dynamischen Objekts

erzeugeObjekt

protected abstract T erzeugeObjekt(de.bsvrz.dav.daf.main.config.SystemObject sysObj)
Erzeuge eine neue Instanz vom verwalteten Objekttyp T

Parameters:
sysObj - das dynamische DAV-Objekt, zu dem die Instanz vom Typ T erzeugt wird
Returns:
das erzeugte Objekt vom Typ T

initialisiere

protected void initialisiere(de.bsvrz.dav.daf.main.config.ConfigurationObject konfigurationsObjekt,
                             java.lang.String mengenBezeichner)
Muss aufgerufen werden, um die Verwaltung für die aktuell in der dynamischen Menge enthaltenen Objekten zu initialisieren - z. B. als Bestandteil des Konstruktors.

Parameters:
konfigurationsObjekt, - das Besitzer der dynamischen Menge ist
mengeBezeichner - Bezeichner (Name) der Menge

initialisiereObjekt

protected T initialisiereObjekt(de.bsvrz.dav.daf.main.config.SystemObject sysObj)
Wird von der Verwaltung aufgerufen und führt Initialisierungen durch, wenn ein dynamisches Objekt erzeugt oder der dynamischen Menge hinzugefügt wird

Parameters:
sysObj - das dynamische Object, das hinzugefügt wird
Returns:
die Instanz vom Typ T, für die die Verwaltung initialisiert wurde - für diese Instanz können jetzt ggf. weitere Resourcen belegt werden. Wenn die Initialisierung nicht ergolgreich war wird null zurückgegenen

bereinigeObjekt

protected T bereinigeObjekt(de.bsvrz.dav.daf.main.config.SystemObject sysObj)
Wird von der Verwaltung aufgerufen und führt Bereinigungen durch, wenn ein dynamisches Ovjekt gelöscht oder aus der dynamischen Menge entfernt wird

Parameters:
sysObj - 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

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