de.bsvrz.dav.daf.main.impl.config
Class DafConfigurationObject

java.lang.Object
  extended by de.bsvrz.dav.daf.main.impl.config.DafSystemObject
      extended by de.bsvrz.dav.daf.main.impl.config.DafConfigurationObject
All Implemented Interfaces:
ConfigurationObject, SystemObject, 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.

Author:
Kappich Systemberatung

Field Summary
private static Debug _debug
          DebugLogger für Debug-Ausgaben
private  short _notValidSince
          Version ab der dieses Objekt nicht mehr gültig ist.
private  long[] _setIds
          Die IDs der Mengen dieses Objekts
private  List<ObjectSet> _sets
          Liste der Mengen dieses Objekts
private  short _validSince
          Version ab der dieses Objekt gültig ist.
 
Fields inherited from class de.bsvrz.dav.daf.main.impl.config.DafSystemObject
_dataModel, _internType, ASPECT, ATTRIBUTE, ATTRIBUTE_GROUP, ATTRIBUTE_GROUP_USAGE, ATTRIBUTE_LIST_TYPE, CLIENT_APPLICATION, CONFIGURATION_APPLICATION, CONFIGURATION_AREA, CONFIGURATION_AUTHORITY, CONFIGURATION_OBJECT, CONFIGURATION_OBJECT_TYPE, DAV_APPLICATION, DYNAMIC_OBJECT, DYNAMIC_OBJECT_TYPE, FLOATING_POINT_NUMBER_ATTRIBUTE_TYPE, INTEGER_ATTRIBUTE_TYPE, INTEGER_VALUE_RANGE, INTEGER_VALUE_STATE, MUTABLE_SET, NON_MUTABLE_SET, NULL_OBJECT, OBJECT_DELETED, OBJECT_EXISTS, OBJECT_INVALID, OBJECT_SET_TYPE, OBJECT_SET_USE, REFERENCE_ATTRIBUTE_TYPE, STRING_ATTRIBUTE_TYPE, SYSTEM_OBJECT_TYPE, TIME_ATTRIBUTE_TYPE
 
Constructor Summary
DafConfigurationObject(DafDataModel dataModel)
          Erzeugt ein neues Objekt dessen Eigenschaften im Anschluss mit der read-Methode eingelesen werden sollten.
DafConfigurationObject(long id, String pid, String name, long typId, byte state, String error, DafDataModel dataModel, short validFromVersionNumber, short validToVersionNumber, long responsibleObjectId, long[] setIds)
          Erzeugt ein neues Objekt mit den angegebenen Eigenschaften
 
Method Summary
 void addSet(ObjectSet set)
          Ordnet dem Konfigurationsobjekt eine weitere Menge zu.
 SystemObject duplicate()
          Dupliziert ein Konfigurationsobjekt.
 SystemObject duplicate(Map<String,String> substitutePids)
          Dupliziert ein Konfigurationsobjekt.
 MutableSet getMutableSet(String name)
          Liefert eine diesem Konfigurations-Objekt zugeordnete online änderbare Menge zurück.
 NonMutableSet getNonMutableSet(String name)
          Liefert eine diesem Konfigurations-Objekt zugeordnete nicht online änderbare Menge zurück.
 short getNotValidSince()
          Liefert die Versionsnummer der Konfiguration ab der dieses Konfigurationsobjekt nicht mehr gültig ist.
 ObjectSet getObjectSet(String name)
          Liefert eine diesem Konfigurations-Objekt zugeordnete Objekt-Menge zurück.
 List<ObjectSet> getObjectSets()
          Liefert die Liste aller diesem Konfigurationsobjekt zugeordneten Mengen zurück.
 short getValidSince()
          Liefert die Versionsnummer der Konfiguration ab der dieses Konfigurationsobjekt gültig ist.
 boolean isValid()
          Bestimmt, ob dieses Objekt zum aktuellen Zeitpunkt gültig ist.
 String parseToString()
          Liefert eine textuelle Beschreibung dieses Objekts für Debug-Zwecke zurück.
 void read(DataInputStream in)
          Deserialisiert dieses Objekt.
 void removeSet(ObjectSet set)
          Entfernt die Zuordnung von diesem Konfigurationsobjekt zu einer Menge.
 void revalidate()
          Macht ein bereits als ungültig markiertes Objekt wieder gültig.
 void write(DataOutputStream out)
          Serialisiert dieses Objekt.
 
Methods inherited from class de.bsvrz.dav.daf.main.impl.config.DafSystemObject
compareTo, equals, getConfigurationArea, getConfigurationAreaId, getConfigurationData, getConfigurationData, getConfigurationData, getDataModel, getId, getInfo, getInternType, getName, getNameOrPidOrId, getObject, getPid, getPidOrId, getPidOrNameOrId, getState, getType, getUsedAttributeGroupUsages, hashCode, invalidate, isOfType, isOfType, setConfigurationData, setConfigurationData, setConfigurationData, setName, setState, storeName, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.bsvrz.dav.daf.main.config.SystemObject
getConfigurationArea, getConfigurationData, getConfigurationData, getConfigurationData, getDataModel, getId, getInfo, getName, getNameOrPidOrId, getPid, getPidOrId, getPidOrNameOrId, getType, getUsedAttributeGroupUsages, invalidate, isOfType, isOfType, setConfigurationData, setConfigurationData, setConfigurationData, setName, toString
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

_validSince

private short _validSince
Version ab der dieses Objekt gültig ist.


_notValidSince

private short _notValidSince
Version ab der dieses Objekt nicht mehr gültig ist.


_setIds

private long[] _setIds
Die IDs der Mengen dieses Objekts


_sets

private List<ObjectSet> _sets
Liste der Mengen dieses Objekts


_debug

private static final Debug _debug
DebugLogger für Debug-Ausgaben

Constructor Detail

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,
                              String pid,
                              String name,
                              long typId,
                              byte state,
                              String error,
                              DafDataModel dataModel,
                              short validFromVersionNumber,
                              short validToVersionNumber,
                              long responsibleObjectId,
                              long[] setIds)
Erzeugt ein neues Objekt mit den angegebenen Eigenschaften

Method Detail

parseToString

public 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(DataOutputStream out)
           throws 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:
IOException

read

public void read(DataInputStream in)
          throws IOException
Description copied from class: DafSystemObject
Deserialisiert dieses Objekt.

Overrides:
read in class DafSystemObject
Parameters:
in - Stream von dem das Objekt gelesen werden soll.
Throws:
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(Map<String,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(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(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(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 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.