Class DafConfigurationObject

java.lang.Object
de.bsvrz.dav.daf.main.impl.config.DafSystemObject
de.bsvrz.dav.daf.main.impl.config.DafConfigurationObject
All Implemented Interfaces:
ConfigurationObject, SystemObject, java.lang.Comparable
Direct Known Subclasses:
DafAspect, DafAttribute, DafAttributeGroupUsage, DafAttributeSet, DafAttributeType, DafConfigurationArea, DafConfigurationAuthority, DafDavApplication, DafIntegerValueRange, DafIntegerValueState, DafObjectSet, DafObjectSetUse, DafSystemObjectType

public class DafConfigurationObject
extends DafSystemObject
implements ConfigurationObject
Applikationsseitige Implementierung der Schnittstelle zum Zugriff auf die Eigenschaften eines Konfigurationsobjekts.
  • Constructor Details

    • DafConfigurationObject

      public DafConfigurationObject​(DafDataModel dataModel)
      Erzeugt ein neues Objekt dessen Eigenschaften im Anschluss mit der read-Methode eingelesen werden sollten.
      Parameters:
      dataModel - DataModel Implementierung, der das neue Objekt zugeordnet ist.
    • DafConfigurationObject

      public DafConfigurationObject​(long id, java.lang.String pid, java.lang.String name, long typId, byte state, java.lang.String error, DafDataModel dataModel, short validFromVersionNumber, short validToVersionNumber, long responsibleObjectId, long[] setIds)
      Erzeugt ein neues Objekt mit den angegebenen Eigenschaften
  • Method Details

    • parseToString

      public java.lang.String parseToString()
      Description copied from class: DafSystemObject
      Liefert eine textuelle Beschreibung dieses Objekts für Debug-Zwecke zurück.
      Overrides:
      parseToString in class DafSystemObject
      Returns:
      Beschreibender Text dieses Objekts.
    • write

      public void write​(java.io.DataOutputStream out) throws java.io.IOException
      Description copied from class: DafSystemObject
      Serialisiert dieses Objekt.
      Overrides:
      write in class DafSystemObject
      Parameters:
      out - Stream auf den das Objekt geschrieben werden soll.
      Throws:
      java.io.IOException - wenn beim Schreiben auf den Ausgabe-Stream Fehler aufgetreten sind.
    • read

      public void read​(java.io.DataInputStream in) throws java.io.IOException
      Description copied from class: DafSystemObject
      Deserialisiert dieses Objekt über die alte Methode.
      Overrides:
      read in class DafSystemObject
      Parameters:
      in - Stream von dem das Objekt gelesen werden soll.
      Throws:
      java.io.IOException - wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • read

      public void read​(Deserializer deserializer) throws java.io.IOException
      Description copied from class: DafSystemObject
      Deserialisiert dieses Objekt
      Overrides:
      read in class DafSystemObject
      Parameters:
      deserializer - Deserialisierer als Datenquelle
      Throws:
      java.io.IOException
    • isValid

      public final boolean isValid()
      Description copied from interface: SystemObject
      Bestimmt, ob dieses Objekt zum aktuellen Zeitpunkt gültig ist. Konfigurierende System-Objekte sind nach deren Erzeugung noch nicht gültig, sondern werden erst mit der Aktivierung der nächsten Konfigurationsversion gültig. Nach dem Löschen eines Konfigurationsobjekts bleibt es bis zur Aktivierung der nächsten Konfigurationsversion gültig. Dynamische Objekte werden sofort mit deren Erzeugung gültig und mit dem Löschen ungültig.
      Specified by:
      isValid in interface SystemObject
      Specified by:
      isValid in class DafSystemObject
      Returns:
      true, falls das Objekt gültig ist;
      false, falls das Objekt nicht gültig ist.
    • getValidSince

      public final short getValidSince()
      Description copied from interface: ConfigurationObject
      Liefert die Versionsnummer der Konfiguration ab der dieses Konfigurationsobjekt gültig ist.
      Specified by:
      getValidSince in interface ConfigurationObject
      Returns:
      Version ab der das Objekt gültig ist.
    • getNotValidSince

      public final short getNotValidSince()
      Description copied from interface: ConfigurationObject
      Liefert die Versionsnummer der Konfiguration ab der dieses Konfigurationsobjekt nicht mehr gültig ist.
      Specified by:
      getNotValidSince in interface ConfigurationObject
      Returns:
      Versionsnummer der Konfiguration ab der dieses Konfigurationsobjekt nicht mehr gültig ist. Wenn das Objekt noch nicht mit der Methode SystemObject.invalidate() ungültig gemacht worden ist, dann wird der Wert 0 zurückgegeben.
    • revalidate

      public final void revalidate() throws ConfigurationChangeException
      Description copied from interface: ConfigurationObject
      Macht ein bereits als ungültig markiertes Objekt wieder gültig. Wenn ein Konfigurationsobjekt mit der Methode SystemObject.invalidate() für eine zukünftige Konfigurationsversion als ungültig markiert wurde und diese Konfigurationsversion noch nicht aktiviert wurde, dann kann das Objekt durch Aufruf dieser Methode wieder gültig gemacht werden.
      Specified by:
      revalidate in interface ConfigurationObject
      Throws:
      ConfigurationChangeException - Wenn das Objektes nicht wieder gültig gemacht werden konnte.
    • duplicate

      public SystemObject duplicate() throws ConfigurationChangeException
      Description copied from interface: ConfigurationObject
      Dupliziert ein Konfigurationsobjekt. Es ist zu beachten, dass Komponenten nicht isoliert dupliziert werden können, sondern im Sinne der Komposition immer nur ganze Objekt-Einheiten zusammen dupliziert werden können, d.h. ausgehend von einem freien Objekt wird das Objekt mit all seinen Komponenten rekursiv dupliziert. Das Duplikat wird mit Aktivierung der in Bearbeitung befindlichen neuen Version des jeweiligen Konfigurationsbereichs gültig. Da die Pids gleich bleiben, muss zuvor das "alte" Objekt gelöscht werden.
      Specified by:
      duplicate in interface ConfigurationObject
      Returns:
      Das Duplikat dieses Konfigurationsobjekts.
      Throws:
      ConfigurationChangeException - Falls das Objekt kein freies Objekt ist und das Duplizieren nicht erlaubt ist oder das Duplikat nicht erstellt werden konnte.
      See Also:
      ConfigurationObject.duplicate(java.util.Map)
    • duplicate

      public SystemObject duplicate​(java.util.Map<java.lang.String,​java.lang.String> substitutePids) throws ConfigurationChangeException
      Description copied from interface: ConfigurationObject
      Dupliziert ein Konfigurationsobjekt. Es ist zu beachten, dass Komponenten nicht isoliert dupliziert werden können, sondern im Sinne der Komposition immer nur ganze Objekt-Einheiten zusammen dupliziert werden können, d.h. ausgehend von einem freien Objekt wird das Objekt mit all seinen Komponenten rekursiv dupliziert. Das Duplikat wird mit Aktivierung der in Bearbeitung befindlichen neuen Version des jeweiligen Konfigurationsbereichs gültig.

      Zu ersetzende Pids der Komponenten können in der Map (altePid, neuePid) übergeben werden. Nicht ersetzte Pids, deren Objekte aber durch Komposition an die Objekt-Einheit gebunden sind, müssen vor Aktivierung gelöscht werden.

      Specified by:
      duplicate in interface ConfigurationObject
      Parameters:
      substitutePids - Map, die die Wert-Paare (altePid, neuePid) enthält.
      Returns:
      Das Duplikat dieses Konfigurationsobjekts.
      Throws:
      ConfigurationChangeException - Falls das Objekt kein freies Objekt ist und das Duplizieren nicht erlaubt ist oder das Duplikat nicht erstellt werden konnte.
      See Also:
      ConfigurationObject.duplicate()
    • getMutableSet

      public final MutableSet getMutableSet​(java.lang.String name)
      Description copied from interface: ConfigurationObject
      Liefert eine diesem Konfigurations-Objekt zugeordnete online änderbare Menge zurück.
      Specified by:
      getMutableSet in interface ConfigurationObject
      Parameters:
      name - Der Name der gewünschten Menge
      Returns:
      Gewünschte dynamische Menge oder null, wenn die spezifizierte Menge nicht vorhanden ist.
    • getNonMutableSet

      public final NonMutableSet getNonMutableSet​(java.lang.String name)
      Description copied from interface: ConfigurationObject
      Liefert eine diesem Konfigurations-Objekt zugeordnete nicht online änderbare Menge zurück.
      Specified by:
      getNonMutableSet in interface ConfigurationObject
      Parameters:
      name - Der Name der gewünschten Menge
      Returns:
      Gewünschte Konfigurationsmenge oder null, wenn die spezifizierte Menge nicht vorhanden ist.
    • getObjectSet

      public final ObjectSet getObjectSet​(java.lang.String name)
      Description copied from interface: ConfigurationObject
      Liefert eine diesem Konfigurations-Objekt zugeordnete Objekt-Menge zurück. Wenn die spezifizierte Objekt-Menge nicht online änderbar ist, dann unterstützt die zurückgegebene Menge die Schnittstelle für nicht online änderbare Mengen. Wenn die Menge online änderbar ist, dann unterstützt das zurückgegebene Mengenobjekt die Schnittstelle für online änderbare Mengen.
      Specified by:
      getObjectSet in interface ConfigurationObject
      Parameters:
      name - Der Name der gewünschten Menge
      Returns:
      Menge von System-Objekten oder null, wenn die spezifizierte Menge nicht vorhanden ist.
    • getObjectSets

      public final java.util.List<ObjectSet> getObjectSets()
      Description copied from interface: ConfigurationObject
      Liefert die Liste aller diesem Konfigurationsobjekt zugeordneten Mengen zurück.
      Specified by:
      getObjectSets in interface ConfigurationObject
      Returns:
      Liste aller Mengen dieses Objekts. Die in der Liste enthaltenen Mengen implementieren je nach Art entweder die Schnittstelle für nicht online änderbare Mengen oder die Schnittstelle für online änderbare Mengen.
    • addSet

      public final void addSet​(ObjectSet set) throws ConfigurationChangeException
      Description copied from interface: ConfigurationObject
      Ordnet dem Konfigurationsobjekt eine weitere Menge zu. Die Zuordnung wird erst mit der nächsten Konfigurationsversion gültig.
      Specified by:
      addSet in interface ConfigurationObject
      Parameters:
      set - Menge, die dem Konfigurationsobjekt zugeordnet werden soll.
      Throws:
      ConfigurationChangeException - Wenn die Menge nicht hinzugefügt werden konnte.
    • removeSet

      public final void removeSet​(ObjectSet set) throws ConfigurationChangeException
      Description copied from interface: ConfigurationObject
      Entfernt die Zuordnung von diesem Konfigurationsobjekt zu einer Menge. Die Änderung wird erst mit der nächsten Konfigurationsversion gültig.
      Specified by:
      removeSet in interface ConfigurationObject
      Parameters:
      set - Menge, die entfernt werden soll.
      Throws:
      ConfigurationChangeException - Wenn die Menge nicht entfernt werden konnte.