Interface UpdateDynamicObjects
-
- All Known Implementing Classes:
DafDataModel
public interface UpdateDynamicObjects
Dieses Interface stellt Methoden zur Verfügung mit denen dynamische Objekte auf Meta-Seite geändert werden können.Dieser Mechanismus wird benötigt, weil sich dynamische Objekte zur Laufzeit ändern. Die Konfiguration wird diese Änderungen an alle Applikationen propagieren, die sich bei der Konfiguration angemeldet haben.
Einige Beispiele für sich ändernde Werte von dynamischen Objekten sind: Name, Gültigkeit des Objekts, Zeitpunkt ab dem das Objekt nicht mehr gültig war, usw..
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
newDynamicObjectCreated(long objectId, long typeId)
Diese Methode wird aufgerufen, wenn die Konfiguration propagiert, dass ein neues dynamisches Objekt erzeugt wurde.void
updateName(long objectId, long typeId, java.lang.String newName)
Diese Methode wird aufgerufen, wenn die Konfiguration eine Namensänderung eines dynamischen Objekts propagiert hat.void
updateNotValidSince(long objectId, long typeId, long notValidTime)
Diese Methode wird aufgerufen, wenn die Konfiguration propagiert, dass ein dynamisches Objekt ungültig wurde.
-
-
-
Method Detail
-
updateName
void updateName(long objectId, long typeId, java.lang.String newName)
Diese Methode wird aufgerufen, wenn die Konfiguration eine Namensänderung eines dynamischen Objekts propagiert hat.Auf Meta-Seite muss dann der Name des Objekts aktualisiert werden. Des Weiteren muss dem Typ des Objekts die Namensänderung mitgeteilt werden. Dies ist nötig, weil am Typ des Objekts Listener für Namensänderungen vorhanden sind.
Beim setzen des Namens darf nicht die
SystemObject.setName(String)
Methode benutzt werden, weil dadurch erneut eine Anfrage an die Konfiguration verschickt werden würde.Der beschriebene Mechanismus muss nur durchgeführt werden wenn: Sich das Objekt im Cache des Meta-Datamodells befindet oder ein Listener auf Namensänderungen für den Typ des Objekt angemeldet ist.
Sind beide Bedingungen nicht erfüllt kann die Namensänderung verworfen werden.
- Parameters:
objectId
- Id des Objekts, dessen Name aktualisiert werden solltypeId
- Typ des Objekts, der informiert wird, dass sich der Name eines Objekts geändert hatnewName
- Neuer Name des Objekts
-
updateNotValidSince
void updateNotValidSince(long objectId, long typeId, long notValidTime)
Diese Methode wird aufgerufen, wenn die Konfiguration propagiert, dass ein dynamisches Objekt ungültig wurde.Die Methode muss beim dynamischen Objekt den Zeitpunkt aktualisieren, an dem es ungültig wurde und der Methodenaufruf von
SystemObject.isValid()
muss false zurück geben. Der Typ des Objekts muss ebenfalls informatiert werden, dass das Objekt nicht mehr gültig ist. Dies ist nötig, weil eventuell Listener auf diese Änderungen angemeldet sind.Der beschriebene Mechanismus muss nur durchgeführt werden wenn: Sich das Objekt im Cache des Meta-Datamodells befindet oder ein Listener auf Invalidation für den Typ des Objekt angemeldet ist.
Sind beide Bedingungen nicht erfüllt kann die Änderung verworfen werden.
- Parameters:
objectId
- Id des Objekts, dessen UngültigAb-Wert aktualisiert werden solltypeId
- Typ des Objekts, der informiert wird, dass das Objekt ungültig geworden istnotValidTime
- Zeitpunkt, an dem das Objekt ungültig wurde
-
newDynamicObjectCreated
void newDynamicObjectCreated(long objectId, long typeId)
Diese Methode wird aufgerufen, wenn die Konfiguration propagiert, dass ein neues dynamisches Objekt erzeugt wurde.Diese Information muss an den jeweiligen Typen des Objekt weitergereicht werden. Dies ist nötig, weil vielleicht Listener auf diese Information angemeldet sind. Ist dies der Fall, so muss das vollständige Objekt aus der Konfiguration angefordert werden.
- Parameters:
objectId
- Objekt, das neu angelegt wurdetypeId
- Typ des neuen Objekts. Dieser Typ wird darüber informiert, dass ein neues Objekt angelegt wurde.
-
-