de.bsvrz.puk.config.configFile.datamodel
Class ConfigSystemObject

java.lang.Object
  extended by de.bsvrz.puk.config.configFile.datamodel.AbstractConfigSystemObject
      extended by de.bsvrz.puk.config.configFile.datamodel.ConfigSystemObject
All Implemented Interfaces:
SystemObject, Comparable
Direct Known Subclasses:
ConfigConfigurationObject, ConfigDynamicObject

public abstract class ConfigSystemObject
extends AbstractConfigSystemObject
implements SystemObject

Implementierung des Interfaces SystemObject auf Seiten der Konfiguration. Die Methoden, die allgemein für das SystemObjekt gelten, wurden in einer abstrakten Klasse implemenentiert. Alle anderen Methoden, die in Abhängigkeit zur Konfiguration stehen, sind hier implementiert.

Author:
Kappich Systemberatung

Field Summary
private static Debug _debug
          DebugLogger für Debug-Ausgaben
(package private)  SystemObjectInformationInterface _systemObjectInfo
          Das korrespondierende Objekt für die Dateioperationen dieses SystemObjekts.
 
Constructor Summary
ConfigSystemObject(ConfigurationArea configurationArea, SystemObjectInformationInterface systemObjectInfo)
          Konstruktor für ein SystemObjekt.
 
Method Summary
(package private)  boolean checkChangePermit()
          Prüft, ob die Konfiguration berechtigt ist an diesem SystemObjekt eine Änderung durchzuführen.
 void createConfigurationData(AttributeGroupUsage atgUsage, Data data)
          Anhand der Attributgruppenverwendung wird an diesem System-Objekt ein konfigurierender Datensatz gespeichert.
 boolean equals(Object other)
          Vergleicht das Objekt mit einem anderen Objekt.
 Data getConfigurationData(AttributeGroup atg, Aspect asp)
           
 Data getConfigurationData(AttributeGroup atg, Aspect asp, ObjectLookup objectLookup)
          Liefert einen konfigurierenden Datensatz dieses Objekts zurück.
 Data getConfigurationData(AttributeGroup atg, ObjectLookup objectLookup)
          Liefert einen konfigurierenden Datensatz dieses Objekts zurück.
 Data getConfigurationData(AttributeGroupUsage atgUsage)
           
 Data getConfigurationData(AttributeGroupUsage atgUsage, ObjectLookup objectLookup)
          Liefert einen konfigurierenden Datensatz dieses Objekts zurück.
 byte[] getConfigurationDataBytes(AttributeGroupUsage attributeGroupUsage)
          Gibt den konfigurierenden Datensatz als Byte-Array zurück, der am Objekt gespeichert ist.
 long getId()
           
 String getName()
           
 String getPid()
           
(package private)  int getSerializerVersion()
          Gibt die Version des Serializers zurück, die der Konfigurationsbereich dieses Systemobjekts verwendet.
 SystemObjectType getType()
           
 Collection<AttributeGroupUsage> getUsedAttributeGroupUsages()
           
 int hashCode()
          Bestimmt den Hash-Code dieses Objekts.
 void invalidate()
           
 void removeConfigurationData(AttributeGroupUsage atgUsage)
          Löscht zu dieser Attributgruppenverwendung an diesem Objekt den zugehörigen Datensatz.
 void setConfigurationData(AttributeGroup atg, Aspect asp, Data data)
           
 void setConfigurationData(AttributeGroupUsage atgUsage, Data data)
           
 void setName(String name)
           
 void simpleInvalidation()
          Löscht jedes einzelne Objekt, unabhängig davon, ob es sich um ein freies Objekt handelt oder nicht.
 
Methods inherited from class de.bsvrz.puk.config.configFile.datamodel.AbstractConfigSystemObject
compareTo, getConfigurationArea, getConfigurationData, getDataModel, getInfo, getNameOrPidOrId, getPidOrId, getPidOrNameOrId, isOfType, isOfType, setConfigurationData, 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, getDataModel, getInfo, getNameOrPidOrId, getPidOrId, getPidOrNameOrId, isOfType, isOfType, isValid, setConfigurationData, toString
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

_debug

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


_systemObjectInfo

final SystemObjectInformationInterface _systemObjectInfo
Das korrespondierende Objekt für die Dateioperationen dieses SystemObjekts.

Constructor Detail

ConfigSystemObject

public ConfigSystemObject(ConfigurationArea configurationArea,
                          SystemObjectInformationInterface systemObjectInfo)
Konstruktor für ein SystemObjekt.

Parameters:
configurationArea - der Konfigurationsbereich dieses SystemObjekts
systemObjectInfo - das korrespondierende Objekt für die Dateioperationen dieses SystemObjekts
Method Detail

getId

public long getId()
Specified by:
getId in interface SystemObject

getPid

public String getPid()
Specified by:
getPid in interface SystemObject

getName

public String getName()
Specified by:
getName in interface SystemObject

setName

public void setName(String name)
             throws ConfigurationChangeException
Specified by:
setName in interface SystemObject
Throws:
ConfigurationChangeException

getConfigurationData

public Data getConfigurationData(AttributeGroup atg,
                                 Aspect asp)
Specified by:
getConfigurationData in interface SystemObject

getConfigurationData

public Data getConfigurationData(AttributeGroup atg,
                                 Aspect asp,
                                 ObjectLookup objectLookup)
Liefert einen konfigurierenden Datensatz dieses Objekts zurück.

Parameters:
atg - Attributgruppe des gewünschten Datensatzes.
asp - Aspekt des gewünschten Datensatzes.
objectLookup - Objekt das bei der Deserialisierung zur Auflösung von Objektreferenzen benutzt werden soll.
Returns:
Konfigurierender Datensatz der angegebenen Attributgruppe oder null, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe hat.

getConfigurationData

public Data getConfigurationData(AttributeGroupUsage atgUsage)
Specified by:
getConfigurationData in interface SystemObject

getConfigurationData

public Data getConfigurationData(AttributeGroupUsage atgUsage,
                                 ObjectLookup objectLookup)
Liefert einen konfigurierenden Datensatz dieses Objekts zurück.

Parameters:
atgUsage - Attributgruppenverwendung des gewünschten Datensatzes
objectLookup - Objekt das bei der Deserialisierung zur Auflösung von Objektreferenzen benutzt werden soll.
Returns:
Konfigurierender Datensatz der angegebenen Attributgruppenverwendung oder null, wenn das Objekt keinen Datensatz zu der angegebenen Attributgruppenverwendung hat.

getConfigurationData

public Data getConfigurationData(AttributeGroup atg,
                                 ObjectLookup objectLookup)
Liefert einen konfigurierenden Datensatz dieses Objekts zurück. Als Aspekt des gewünschten Datensatzes wird "asp.eigenschaften" angenommen.

Parameters:
atg - Attributgruppe des gewünschten Datensatzes.
objectLookup - Objekt das bei der Deserialisierung zur Auflösung von Objektreferenzen benutzt werden soll.
Returns:
Konfigurierender Datensatz der angegebenen Attributgruppe oder null, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe hat.

getConfigurationDataBytes

public byte[] getConfigurationDataBytes(AttributeGroupUsage attributeGroupUsage)
Gibt den konfigurierenden Datensatz als Byte-Array zurück, der am Objekt gespeichert ist. Der Datensatz wird über die ID der Attributgruppenverwendung identifiziert.

Parameters:
attributeGroupUsage - die Attributgruppenverwendung
Returns:
das Byte-Array des konfigurierenden Datensatzes oder null, falls es keinen konfigurierenden Datensatz für die Attributgruppenverwendung gibt

getSerializerVersion

int getSerializerVersion()
Gibt die Version des Serializers zurück, die der Konfigurationsbereich dieses Systemobjekts verwendet.

Returns:
die Version des Serializers, die der Konfigurationsbereich dieses Systemobjekts verwendet

equals

public final boolean equals(Object other)
Vergleicht das Objekt mit einem anderen Objekt. Zwei Objekte sind gleich, wenn sie die gleiche Objekt-Id haben.

Overrides:
equals in class Object
Returns:
true, wenn die Objekte gleich sind, sonst false.

hashCode

public final int hashCode()
Bestimmt den Hash-Code dieses Objekts.

Overrides:
hashCode in class Object
Returns:
Hash-Code dieses Objekts.

setConfigurationData

public void setConfigurationData(AttributeGroup atg,
                                 Aspect asp,
                                 Data data)
                          throws ConfigurationChangeException
Specified by:
setConfigurationData in interface SystemObject
Throws:
ConfigurationChangeException

setConfigurationData

public void setConfigurationData(AttributeGroupUsage atgUsage,
                                 Data data)
                          throws ConfigurationChangeException
Specified by:
setConfigurationData in interface SystemObject
Throws:
ConfigurationChangeException

getUsedAttributeGroupUsages

public Collection<AttributeGroupUsage> getUsedAttributeGroupUsages()
Specified by:
getUsedAttributeGroupUsages in interface SystemObject

createConfigurationData

public void createConfigurationData(AttributeGroupUsage atgUsage,
                                    Data data)
                             throws ConfigurationChangeException
Anhand der Attributgruppenverwendung wird an diesem System-Objekt ein konfigurierender Datensatz gespeichert.

Parameters:
atgUsage - die Attributgruppenverwendung
data - der konfigurierende Datensatz oder null, falls der Datensatz gelöscht werden soll
Throws:
ConfigurationChangeException - Falls der Datensatz nicht gespeichert werden konnte.

removeConfigurationData

public void removeConfigurationData(AttributeGroupUsage atgUsage)
Löscht zu dieser Attributgruppenverwendung an diesem Objekt den zugehörigen Datensatz.

Parameters:
atgUsage - die Attributgruppenverwendung, dessen Datensatz gelöscht werden soll.

invalidate

public void invalidate()
                throws ConfigurationChangeException
Specified by:
invalidate in interface SystemObject
Throws:
ConfigurationChangeException

simpleInvalidation

public void simpleInvalidation()
                        throws ConfigurationChangeException
Löscht jedes einzelne Objekt, unabhängig davon, ob es sich um ein freies Objekt handelt oder nicht.

Throws:
ConfigurationChangeException - Wenn das Objekt nicht ungültig gemacht werden konnte.

getType

public SystemObjectType getType()
Specified by:
getType in interface SystemObject

checkChangePermit

boolean checkChangePermit()
Prüft, ob die Konfiguration berechtigt ist an diesem SystemObjekt eine Änderung durchzuführen.

Returns:
true, falls die Konfiguration die Berechtigung hat Änderungen am Objekt durchzuführen,
false, falls die Konfiguration diese Berechtigung nicht hat