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

java.lang.Object
  extended by de.bsvrz.dav.daf.main.impl.config.DafSystemObject
      extended by de.bsvrz.dav.daf.main.impl.config.DafConfigurationObject
          extended by de.bsvrz.dav.daf.main.impl.config.DafSystemObjectType
All Implemented Interfaces:
ConfigurationObject, SystemObject, SystemObjectCollection, SystemObjectType, Comparable
Direct Known Subclasses:
DafConfigurationObjectType, DafDynamicObjectType

public class DafSystemObjectType
extends DafConfigurationObject
implements SystemObjectType

Klasse, die den Zugriff auf Objekttypen seitens der Datenverteiler-Applikationsfunktionen ermöglicht.

Author:
Kappich Systemberatung

Field Summary
private  List<AttributeGroup> _attributeGroups
          Liste der Attributgruppen dieses Typs.
private  List<AttributeGroup> _directAttributeGroups
          Liste der eigenen nicht geerbten Attributesgruppen dieses Typs
private  List<ObjectSetUse> _directObjectSetUses
          Liste der eigenen nicht geerbten Mengenverwendungen dieses Typs
private  boolean _isConfigurating
          Kennung, die true ist, wenn der Typ konfigurierend ist.
private  boolean _isNameOfObjectsPermanent
          Kennung, die true ist, wenn die Namen von Objekten des Typs permanent sind?
private  List<ObjectSetUse> _objectSetUses
          Liste der Mengenverwendungen dieses Typs
private  List<SystemObjectType> _subTypes
          Liste der Subtypen
private  List<SystemObjectType> _superTypes
          Liste der Supertypen
 
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
protected DafSystemObjectType(DafDataModel dataModel)
          Erzeugt ein neues Objekt dessen Eigenschaften im Anschluss mit der read-Methode eingelesen werden sollten.
protected DafSystemObjectType(long id, String pid, String name, long typId, byte state, String error, DafDataModel dataModel, short validFromVersionNumber, short validToVersionNumber, long responsibleObjectId, long[] setIds, boolean isConfigurator, boolean hasPermanentName)
          Erzeugt ein neues Objekt mit den angegebenen Eigenschaften
 
Method Summary
 List<AttributeGroup> getAttributeGroups()
          Liefert eine Liste aller Attributgruppen, die von System-Objekten dieses Typs verwendet werden können, zurück.
 List<AttributeGroup> getDirectAttributeGroups()
          Liefert eine Liste aller Attributgruppen, die von System-Objekten dieses Typs verwendet werden können und nicht von einem Supertyp geerbt wurden, zurück.
 List<ObjectSetUse> getDirectObjectSetUses()
          Liefert eine Liste von Mengen-Verwendungen dieses Typs ohne die Mengen-Verwendungen, die von Supertypen geerbt werden.
 List<SystemObject> getElements()
          Bestimmt die zum aktuellen Zeitpunkt zur Zusammenstellung gehörenden Elemente.
 List<SystemObject> getElements(long time)
          Bestimmt die zu einem vorgegebenen Zeitpunkt zur Zusammenstellung gehörenden Elemente.
 List<SystemObject> getElementsDuringPeriod(long startTime, long endTime)
          Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Zusammenstellung gehört haben.
 List<SystemObject> getElementsInPeriod(long startTime, long endTime)
          Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Zusammenstellung gehört haben.
 List<SystemObject> getObjects()
          Liefert die Liste aller System-Objekte dieses Typs zurück.
 List<ObjectSetUse> getObjectSetUses()
          Liefert eine Liste von Mengen-Verwendungen, die Informationen zu den mit diesem Typ verwendbaren Mengen enthalten.
 List<SystemObjectType> getSubTypes()
          Liefert eine Liste der Typ-Objekte die diesen Typ erweitern, also direkt von diesem Typ abgeleitet sind.
 List<SystemObjectType> getSuperTypes()
          Liefert eine Liste der Typ-Objekte die von diesem Typ-Objekt erweitert werden.
 boolean inheritsFrom(SystemObjectType other)
          Prüft, ob der im Parameter angegebene Typ in der Typhierarchie oberhalb dieses Typs vorkommt.
 boolean isBaseType()
          Ermittelt, ob dieser Typ ein Basis-Typ ist.
 boolean isConfigurating()
          Ermittelt, ob dieser Typ ein konfigurierender Typ ist.
 boolean isNameOfObjectsPermanent()
          Bestimmt, ob der Name eines Objekts dieses Typs (nachdem er einmal vergeben wurde) nochmal geändert werden kann oder nicht.
 String parseToString()
          Liefert eine textuelle Beschreibung dieses Objekts für Debug-Zwecke zurück.
 void read(DataInputStream in)
          Deserialisiert dieses Objekt.
 void write(DataOutputStream out)
          Serialisiert dieses Objekt.
 
Methods inherited from class de.bsvrz.dav.daf.main.impl.config.DafConfigurationObject
addSet, duplicate, duplicate, getMutableSet, getNonMutableSet, getNotValidSince, getObjectSet, getObjectSets, getValidSince, isValid, removeSet, revalidate
 
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.ConfigurationObject
addSet, duplicate, duplicate, getMutableSet, getNonMutableSet, getNotValidSince, getObjectSet, getObjectSets, getValidSince, removeSet, revalidate
 
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, isValid, setConfigurationData, setConfigurationData, setConfigurationData, setName, toString
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

_isConfigurating

private boolean _isConfigurating
Kennung, die true ist, wenn der Typ konfigurierend ist.


_isNameOfObjectsPermanent

private boolean _isNameOfObjectsPermanent
Kennung, die true ist, wenn die Namen von Objekten des Typs permanent sind?


_attributeGroups

private List<AttributeGroup> _attributeGroups
Liste der Attributgruppen dieses Typs.


_directAttributeGroups

private List<AttributeGroup> _directAttributeGroups
Liste der eigenen nicht geerbten Attributesgruppen dieses Typs


_objectSetUses

private List<ObjectSetUse> _objectSetUses
Liste der Mengenverwendungen dieses Typs


_directObjectSetUses

private List<ObjectSetUse> _directObjectSetUses
Liste der eigenen nicht geerbten Mengenverwendungen dieses Typs


_superTypes

private List<SystemObjectType> _superTypes
Liste der Supertypen


_subTypes

private List<SystemObjectType> _subTypes
Liste der Subtypen

Constructor Detail

DafSystemObjectType

protected DafSystemObjectType(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.

DafSystemObjectType

protected DafSystemObjectType(long id,
                              String pid,
                              String name,
                              long typId,
                              byte state,
                              String error,
                              DafDataModel dataModel,
                              short validFromVersionNumber,
                              short validToVersionNumber,
                              long responsibleObjectId,
                              long[] setIds,
                              boolean isConfigurator,
                              boolean hasPermanentName)
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 DafConfigurationObject
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 DafConfigurationObject
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 DafConfigurationObject
Parameters:
in - Stream von dem das Objekt gelesen werden soll.
Throws:
IOException

isConfigurating

public final boolean isConfigurating()
Description copied from interface: SystemObjectType
Ermittelt, ob dieser Typ ein konfigurierender Typ ist. Bei einem Basistyp ist festgelegt, ob Objekte des Typs konfigurierend oder nicht konfigurierend (dynamisch) sind. Bei Typen, die einen oder mehrere andere Typen erweitern, wird diese Eigenschaft durch die Super-Typen festgelegt. Eine Mischung von konfigurierenden und dynamischen Super-Typen ist nicht zugelassen. Konfigurierende Typen implementieren die Schnittstellenklasse ConfigurationObjectType. Bei dynamischen Typen können Objekte online erzeugt und gelöscht werden. Wenn bei konfigurierenden Typen Objekte erzeugt bzw. gelöscht werden, dann wird die jeweilige Änderung erst mit Aktivierung der nächsten Konfigurationsversion gültig.

Specified by:
isConfigurating in interface SystemObjectType
Returns:
true, wenn Objekte des Typs konfigurierend sind;
false, wenn Objekte des Typs dynamisch sind.
See Also:
SystemObjectType.isBaseType(), SystemObjectType.getSuperTypes(), ConfigurationObjectType, ConfigurationObject

isNameOfObjectsPermanent

public boolean isNameOfObjectsPermanent()
Description copied from interface: SystemObjectType
Bestimmt, ob der Name eines Objekts dieses Typs (nachdem er einmal vergeben wurde) nochmal geändert werden kann oder nicht. Bei bestimmten Objekten ist die Zugriffsmöglichkeit über den Namen des Objektes vorgesehen (z.B. Mengen eines Objekts oder Attribute einer Attributgruppe). Da mit der Änderung des Objektnamens bei diesen Objekten quasi eine Änderung der Konfigurationsstruktur durchgeführt wird und dies Auswirkungen auf SW-Einheiten haben kann, wird bei diesen Objekten die Änderbarkeit des Objekt-Namens eingeschränkt.

Specified by:
isNameOfObjectsPermanent in interface SystemObjectType
Returns:
true, wenn der Name nicht geändert werden kann.
false, wenn der Name geändert werden kann.

getAttributeGroups

public final List<AttributeGroup> getAttributeGroups()
Description copied from interface: SystemObjectType
Liefert eine Liste aller Attributgruppen, die von System-Objekten dieses Typs verwendet werden können, zurück. Enthalten sind auch die Attributgruppen, die von den Supertypen dieses Typs geerbt wurden.

Specified by:
getAttributeGroups in interface SystemObjectType
Returns:
Liste von Attributgruppen

getDirectAttributeGroups

public List<AttributeGroup> getDirectAttributeGroups()
Description copied from interface: SystemObjectType
Liefert eine Liste aller Attributgruppen, die von System-Objekten dieses Typs verwendet werden können und nicht von einem Supertyp geerbt wurden, zurück.

Specified by:
getDirectAttributeGroups in interface SystemObjectType
Returns:
Liste von Attributgruppen

getObjectSetUses

public final List<ObjectSetUse> getObjectSetUses()
Description copied from interface: SystemObjectType
Liefert eine Liste von Mengen-Verwendungen, die Informationen zu den mit diesem Typ verwendbaren Mengen enthalten. In der zurückgegebenen Liste sind auch die Mengen-Verwendungen, die von Supertypen geerbt wurden, enthalten.

Specified by:
getObjectSetUses in interface SystemObjectType
Returns:
Liste von Mengen-Verwendungen

getDirectObjectSetUses

public final List<ObjectSetUse> getDirectObjectSetUses()
Description copied from interface: SystemObjectType
Liefert eine Liste von Mengen-Verwendungen dieses Typs ohne die Mengen-Verwendungen, die von Supertypen geerbt werden. Die Mengen-Verwendungen enthalten Informationen zu den mit diesem Typ verwendbaren Mengen.

Specified by:
getDirectObjectSetUses in interface SystemObjectType
Returns:
Liste von Mengen-Verwendungen

isBaseType

public final boolean isBaseType()
Description copied from interface: SystemObjectType
Ermittelt, ob dieser Typ ein Basis-Typ ist.

Specified by:
isBaseType in interface SystemObjectType
Returns:
true, wenn der Typ ein Basis-Typ ist;
false, wenn der Typ einen anderen Typ erweitert.

getSuperTypes

public final List<SystemObjectType> getSuperTypes()
Description copied from interface: SystemObjectType
Liefert eine Liste der Typ-Objekte die von diesem Typ-Objekt erweitert werden. Zurückgegeben werden die Typen, von denen dieser Typ gewisse Eigenschaften (wie z.B. verwendbare Mengen und Attributgruppen) erbt.

Specified by:
getSuperTypes in interface SystemObjectType
Returns:
Liste von Typ-Objekten

getSubTypes

public final List<SystemObjectType> getSubTypes()
Description copied from interface: SystemObjectType
Liefert eine Liste der Typ-Objekte die diesen Typ erweitern, also direkt von diesem Typ abgeleitet sind.

Specified by:
getSubTypes in interface SystemObjectType
Returns:
Liste von Typ-Objekten

inheritsFrom

public final boolean inheritsFrom(SystemObjectType other)
Description copied from interface: SystemObjectType
Prüft, ob der im Parameter angegebene Typ in der Typhierarchie oberhalb dieses Typs vorkommt. Dies ist dann der Fall, wenn dieser Typ direkt oder indirekt den angegebenen Typ erweitert und damit dessen Eigenschaften erbt.

Specified by:
inheritsFrom in interface SystemObjectType
Parameters:
other - Zu prüfender Typ
Returns:
true wenn dieser Typ vom angegebenen Typ erbt, sonst false.

getObjects

public List<SystemObject> getObjects()
Description copied from interface: SystemObjectType
Liefert die Liste aller System-Objekte dieses Typs zurück. Zu beachten ist, das auch Objekte eines Typs, der diesen Typ erweitert, zurückgegeben werden.

Specified by:
getObjects in interface SystemObjectType
Returns:
Liste von System-Objekten

getElements

public List<SystemObject> getElements()
Description copied from interface: SystemObjectCollection
Bestimmt die zum aktuellen Zeitpunkt zur Zusammenstellung gehörenden Elemente.

Specified by:
getElements in interface SystemObjectCollection
Returns:
Liste mit den aktuell zur Zusammenstellung gehörenden System-Objekten.

getElements

public List<SystemObject> getElements(long time)
Description copied from interface: SystemObjectCollection
Bestimmt die zu einem vorgegebenen Zeitpunkt zur Zusammenstellung gehörenden Elemente. Nicht dynamische Mengen mit Referenzierungsart Komposition oder Aggregation liefern immer alle Elemente der Menge zurück.

Specified by:
getElements in interface SystemObjectCollection
Parameters:
time - Zeitpunkt in Millisekunden seit 1970
Returns:
Liste mit den zum angegebenen Zeitpunkt zur Zusammenstellung gehörenden System-Objekten.

getElementsInPeriod

public List<SystemObject> getElementsInPeriod(long startTime,
                                              long endTime)
Description copied from interface: SystemObjectCollection
Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Zusammenstellung gehört haben. Nicht dynamische Mengen mit Referenzierungsart Komposition oder Aggregation liefern immer alle Elemente der Menge zurück.

Specified by:
getElementsInPeriod in interface SystemObjectCollection
Parameters:
startTime - Erster Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.
endTime - Letzter Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.
Returns:
Liste mit den zu mindestens einem Zeitpunkt des Zeitbereichs zur Zusammenstellung gehörenden System-Objekten.

getElementsDuringPeriod

public List<SystemObject> getElementsDuringPeriod(long startTime,
                                                  long endTime)
Description copied from interface: SystemObjectCollection
Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Zusammenstellung gehört haben. Nicht dynamische Mengen mit Referenzierungsart Komposition oder Aggregation liefern immer alle Elemente der Menge zurück.

Specified by:
getElementsDuringPeriod in interface SystemObjectCollection
Parameters:
startTime - Erster Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.
endTime - Letzter Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.
Returns:
Liste mit den während des gesamten Zeitbereichs zur Zusammenstellung gehörenden System-Objekten.