de.bsvrz.dav.daf.main.config
Interface DataModel

All Superinterfaces:
ObjectLookup
All Known Implementing Classes:
DafDataModel

public interface DataModel
extends ObjectLookup

Schnittstelle zum Zugriff auf Objekte und Eigenschaften eines Datenmodells. Der Zugriff auf die Objekte des Datenmodells wird in der Schnittstelle über sogenannte Stellvertreterobjekte realisiert. Stellvertreterobjekte sind Objekte im Sinne der eingesetzten Programmiersprache und damit Elemente von Klassen. System-Objekte und die zugehörigen Stellvertreterobjekte werden im Folgenden synonym verwendet. Die Klassen, die den Zugriff auf die Objekte ermöglichen, können je nach Typ des jeweiligen Objekts unterschiedlich sein. Alle Objekte des Datenmodells müssen die Schnittstellenklasse für System-Objekte implementieren. Der Zugriff auf folgende Typen des Metamodells und des System-Datenmodells wird durch die jeweils angegebenen Schnittstellenklassen ermöglicht.

Objekt-Typ Schnittstellenklasse
typ.konfigurationsObjekt ConfigurationObject
typ.dynamischesObjekt DynamicObject
typ.typ SystemObjectType
ConfigurationObjectType
typ.attributgruppe AttributeGroup
typ.aspekt Aspect
typ.attribut Attribute
typ.attributTyp AttributeType
typ.zeichenketteAttributTyp StringAttributeType
typ.ganzzahlAttributTyp IntegerAttributeType
typ.werteBereich IntegerValueRange
typ.werteZustand IntegerValueState
typ.kommazahlAttributTyp DoubleAttributeType
typ.zeitstempelAttributTyp TimeAttributeType
typ.objektReferenzAttributTyp ReferenceAttributeType
typ.attributListenDefinition AttributeListDefinition
typ.mengenVerwendung ObjectSetUse
typ.mengenTyp ObjectSetType
typ.konfigurationsVerantwortlicher ConfigurationAuthority
typ.konfigurationsMenge NonMutableSet
typ.dynamischeMenge MutableSet
typ.applikation ClientApplication
typ.datenverteiler DavApplication

Author:
Roland Schmitz (rs), Kappich Systemberatung, Stephan Homeyer (sth), Kappich Systemberatung

Method Summary
 ConfigurationObject createConfigurationObject(ConfigurationObjectType type, String pid, String name, List sets)
          Deprecated. Objekte werden innerhalb eines Bereichs erstellt.
 DynamicObject createDynamicObject(SystemObjectType type, String pid, String name)
          Deprecated. Objekte werden innerhalb eines Bereichs erzeugt.
 short getActiveVersion(ConfigurationArea configurationArea)
          Gibt die aktive Version des angegebenen Konfigurationsbereichs zurück.
 Aspect getAspect(String pid)
          Liefert den Aspekt mit der angegebenen PID zurück.
 AttributeGroup getAttributeGroup(String pid)
          Liefert die Attributgruppe mit der angegebenen PID zurück.
 AttributeGroupUsage getAttributeGroupUsage(long usageIdentification)
          Bestimmt die Attributgruppenverwendung mit der angegebenen Datenverteiler-Identifizierung.
 AttributeType getAttributeType(String pid)
          Liefert den Attribut-Typ mit der angegebenen PID zurück.
 List<SystemObjectType> getBaseTypes()
          Liefert die Basistypen, also die Typ-Objekte, die keinen anderen Typ erweitern, zurück.
 ConfigurationArea getConfigurationArea(String pid)
          Liefert zu der angegebenen Pid den passenden Konfigurationsbereich.
 ConfigurationAuthority getConfigurationAuthority()
          Liefert den lokalen Verantwortlichen der gesamten Konfiguration.
 String getConfigurationAuthorityPid()
          Liefert die Pid des lokalen Verantwortlichen der gesamten Konfiguration.
 Data[] getConfigurationData(Collection<SystemObject> objects, AttributeGroup atg)
          Liefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück.
 Data[] getConfigurationData(Collection<SystemObject> objects, AttributeGroup atg, Aspect asp)
          Liefert die konfigurierenden Datensätze einer Attributgruppe und eines Aspekts für mehrere Objekte zurück.
 Data[] getConfigurationData(SystemObject[] objects, AttributeGroup atg)
          Liefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück.
 Data[] getConfigurationData(SystemObject[] objects, AttributeGroup atg, Aspect asp)
          Liefert die konfigurierenden Datensätze einer Attributgruppe und eines Aspekts für mehrere Objekte zurück.
 SystemObject getObject(long id)
          Liefert das System-Objekt mit der angegebenen Objekt-ID zurück.
 SystemObject getObject(String pid)
          Liefert das System-Objekt mit der angegebenen PID zurück.
 Collection<SystemObject> getObjects(Collection<ConfigurationArea> configurationAreas, Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification objectTimeSpecification)
          Gibt die Objekte zurück, die in einem der angegebenen Konfigurationsbereiche sind und deren Objekttyp in der angegebenen Objekttyp-Menge ist.
 Collection<SystemObject> getObjects(String pid, long startTime, long endTime)
          Gibt die Objekte zurück, die zu der angegebenen Pid in dem angegebenen Zeitraum gültig waren.
 ObjectSetType getObjectSetType(String pid)
          Liefert das Mengen-Typ-Objekt mit der angegebenen PID zurück.
 SystemObjectType getType(String pid)
          Liefert das Typ-Objekt mit der angegebenen PID zurück.
 SystemObjectType getTypeTypeObject()
          Liefert das Systemobjekt, das den Typ von Typobjekten darstellt.
 UserAdministration getUserAdministration()
          Gibt ein Objekt zurück, mit dem die Benutzer der Konfiguration verwaltet werden können.
 

Method Detail

getConfigurationData

Data[] getConfigurationData(Collection<SystemObject> objects,
                            AttributeGroup atg)
Liefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück. Als Aspekt wird dabei asp.eigenschaften angenommen. Die zurückgelieferten Datensätze werden auch lokal zwischengespeichert und können mit der Methode SystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup) ohne weitere Konfigurationsanfrage abgefragt werden. Die Methode kann somit zur Minimierung der Anzahl von Konfigurationsanfragen und den damit verbundenen Verzögerungszeiten eingesetzt werden.

Parameters:
objects - Systemobjekte der gewünschten konfigurierenden Datensätze.
atg - Attributgruppe der gewünschten Datensätze.
Returns:
Array mit den gewünschten konfigurierenden Datensätzen. Das Array enthält für jedes Element des Parameters objects einen korrespondierender konfigurierender Datensatz oder null, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt Kombination hat.

getConfigurationData

Data[] getConfigurationData(Collection<SystemObject> objects,
                            AttributeGroup atg,
                            Aspect asp)
Liefert die konfigurierenden Datensätze einer Attributgruppe und eines Aspekts für mehrere Objekte zurück. Die zurückgelieferten Datensätze werden auch lokal zwischengespeichert und können mit der Methode SystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup) ohne weitere Konfigurationsanfrage abgefragt werden. Die Methode kann somit zur Minimierung der Anzahl von Konfigurationsanfragen und den damit verbundenen Verzögerungszeiten eingesetzt werden.

Parameters:
objects - Liste der Systemobjekte der gewünschten konfigurierenden Datensätze.
atg - Attributgruppe der gewünschten Datensätze.
asp - Aspekt der gewünschten Datensätze.
Returns:
Array mit den gewünschten konfigurierenden Datensätzen. Das Array enthält für jedes Element des Parameters objects einen korrespondierender konfigurierender Datensatz oder null, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt Kombination hat.

getConfigurationData

Data[] getConfigurationData(SystemObject[] objects,
                            AttributeGroup atg)
Liefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück. Als Aspekt wird dabei asp.eigenschaften angenommen. Die zurückgelieferten Datensätze werden auch lokal zwischengespeichert und können mit der Methode SystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup) ohne weitere Konfigurationsanfrage abgefragt werden. Die Methode kann somit zur Minimierung der Anzahl von Konfigurationsanfragen und den damit verbundenen Verzögerungszeiten eingesetzt werden.

Parameters:
objects - Array mit den Systemobjekten der gewünschten konfigurierenden Datensätze.
atg - Attributgruppe der gewünschten Datensätze.
Returns:
Array mit den gewünschten konfigurierenden Datensätzen. Das Array enthält für jedes Element des Parameters objects einen korrespondierender konfigurierender Datensatz oder null, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt Kombination hat.

getConfigurationData

Data[] getConfigurationData(SystemObject[] objects,
                            AttributeGroup atg,
                            Aspect asp)
Liefert die konfigurierenden Datensätze einer Attributgruppe und eines Aspekts für mehrere Objekte zurück. Die zurückgelieferten Datensätze werden auch lokal zwischengespeichert und können mit der Methode SystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup) ohne weitere Konfigurationsanfrage abgefragt werden. Die Methode kann somit zur Minimierung der Anzahl von Konfigurationsanfragen und den damit verbundenen Verzögerungszeiten eingesetzt werden.

Parameters:
objects - Array mit den Systemobjekten der gewünschten konfigurierenden Datensätze.
atg - Attributgruppe der gewünschten Datensätze.
asp - Aspekt der gewünschten Datensätze.
Returns:
Array mit den gewünschten konfigurierenden Datensätzen. Das Array enthält für jedes Element des Parameters objects einen korrespondierender konfigurierender Datensatz oder null, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt Kombination hat.

getActiveVersion

short getActiveVersion(ConfigurationArea configurationArea)
Gibt die aktive Version des angegebenen Konfigurationsbereichs zurück.

Parameters:
configurationArea - der Konfigurationsbereich
Returns:
Versionsnummer des Konfigurationsbereichs

getObject

SystemObject getObject(String pid)
Liefert das System-Objekt mit der angegebenen PID zurück.

Specified by:
getObject in interface ObjectLookup
Parameters:
pid - Die permanente ID des System-Objekts
Returns:
Das gewünschte System-Objekt oder null, wenn es kein Objekt mit der angegebenen PID gibt.
See Also:
DataModel

getObject

SystemObject getObject(long id)
Liefert das System-Objekt mit der angegebenen Objekt-ID zurück.

Specified by:
getObject in interface ObjectLookup
Parameters:
id - Die Objekt-ID des System-Objekts
Returns:
Das gewünschte System-Objekt oder null, wenn es kein Objekt mit der angegebenen ID gibt.
See Also:
DataModel

getTypeTypeObject

SystemObjectType getTypeTypeObject()
Liefert das Systemobjekt, das den Typ von Typobjekten darstellt.

Returns:
Das Typ-Typ-Objekt.

getBaseTypes

List<SystemObjectType> getBaseTypes()
Liefert die Basistypen, also die Typ-Objekte, die keinen anderen Typ erweitern, zurück. Basistypen sind z.B. die Objekte mit den Permanenten IDs "typ.konfigurationsObjekt" und "typ.dynamischesObjekt".

Returns:
Liste mit Typ-Objekten.

getType

SystemObjectType getType(String pid)
Liefert das Typ-Objekt mit der angegebenen PID zurück.

Parameters:
pid - Die permanente ID des Typ-Objekts
Returns:
Das gewünschte Typ-Objekt oder null, wenn es kein Objekt mit der angegebenen PID gibt.
Throws:
IllegalArgumentException - Wenn das Objekt mit der angegebenen Pid kein Typ-Objekt ist.

getObjectSetType

ObjectSetType getObjectSetType(String pid)
Liefert das Mengen-Typ-Objekt mit der angegebenen PID zurück.

Parameters:
pid - Die permanente ID des Mengen-Typ-Objekts
Returns:
Das gewünschte Typ-Objekt oder null, wenn es kein Objekt mit der angegebenen PID gibt.
Throws:
IllegalArgumentException - Wenn das Objekt mit der angegebenen Pid kein Mengen-Typ-Objekt ist.

getAttributeGroup

AttributeGroup getAttributeGroup(String pid)
Liefert die Attributgruppe mit der angegebenen PID zurück.

Parameters:
pid - Die permanente ID der Attributgruppe
Returns:
Die gewünschte Attributgruppe oder null, wenn es kein Objekt mit der gewünschten PID gibt.
Throws:
IllegalArgumentException - Wenn das Objekt mit der angegebenen Pid keine Attributgruppe ist.

getAttributeType

AttributeType getAttributeType(String pid)
Liefert den Attribut-Typ mit der angegebenen PID zurück.

Parameters:
pid - Die permanente ID des Attribut-Typs
Returns:
Der gewünschte Attribut-Typ oder null, wenn es kein Objekt mit der angegebenen PID gibt.
Throws:
IllegalArgumentException - Wenn das Objekt mit der angegebenen Pid kein Attributtyp ist.

getAspect

Aspect getAspect(String pid)
Liefert den Aspekt mit der angegebenen PID zurück.

Parameters:
pid - Die permanente ID des Aspekts.
Returns:
Der gewünschte Aspekt oder null, wenn es kein Objekt mit der gewünschten PID gibt.
Throws:
IllegalArgumentException - Wenn das Objekt mit der angegebenen Pid kein Aspekt ist.

getAttributeGroupUsage

AttributeGroupUsage getAttributeGroupUsage(long usageIdentification)
Bestimmt die Attributgruppenverwendung mit der angegebenen Datenverteiler-Identifizierung.

Parameters:
usageIdentification - Identifizierung dieser Attributgruppenverwendung bei der Kommunikation über den Datenverteiler.
Returns:
Zur Identifizierung gehörende Attributgruppenverwendung oder null, wenn es keine Attributgruppenverwendung mit der angegebenen Identifizierung gibt.

createConfigurationObject

ConfigurationObject createConfigurationObject(ConfigurationObjectType type,
                                              String pid,
                                              String name,
                                              List sets)
                                              throws ConfigurationChangeException
Deprecated. Objekte werden innerhalb eines Bereichs erstellt.

Erzeugt ein neues Konfigurationsobjekt eines vorgegebenen Typs. Optional können auch Name und PID des neuen Objekts vorgegeben werden. Die verantwortliche Instanz des neuen Objektes kann nicht spezifiziert werden, da sie von der jeweiligen Konfiguration vergeben wird. Das neue Objekt wird erst mit Aktivierung der nächsten Konfigurationsversion gültig.

Parameters:
type - Typ des neuen Objekts.
pid - PID des neuen Objekts.
name - Name des neuen Objekts.
sets - Liste der Mengen des neuen Objekts oder null, wenn kein Mengen vergeben werden sollen.
Returns:
Stellvertreterobjekt für das neu angelegte Konfigurationsobjekt.
Throws:
ConfigurationChangeException - Wenn das Objekt nicht erzeugt werden konnte.
See Also:
ConfigurationObject, SystemObject.isValid()

createDynamicObject

DynamicObject createDynamicObject(SystemObjectType type,
                                  String pid,
                                  String name)
                                  throws ConfigurationChangeException
Deprecated. Objekte werden innerhalb eines Bereichs erzeugt.

Erzeugt ein neues dynamisches System-Objekt eines vorgegebenen Typs. Optional können auch Name und PID des neuen Objekts vorgegeben werden. Das neue Objekt wird sofort gültig.

Parameters:
type - Typ des neuen Objekts
pid - PID des neuen Objekts.
name - Name des neuen Objekts.
Returns:
Stellvertreterobjekt für das neu angelegte dynamische Objekt.
Throws:
ConfigurationChangeException - Wenn das Objekt nicht erzeugt werden konnte.
See Also:
SystemObject, SystemObject.isValid()

getConfigurationArea

ConfigurationArea getConfigurationArea(String pid)
Liefert zu der angegebenen Pid den passenden Konfigurationsbereich.

Parameters:
pid - die Pid des Konfigurationsbereichs
Returns:
der Konfigurationsbereich zur angegebenen Pid

getConfigurationAuthority

ConfigurationAuthority getConfigurationAuthority()
Liefert den lokalen Verantwortlichen der gesamten Konfiguration.

Returns:
der Konfigurationsverantwortliche der Konfiguration

getConfigurationAuthorityPid

String getConfigurationAuthorityPid()
Liefert die Pid des lokalen Verantwortlichen der gesamten Konfiguration.

Returns:
die Pid des Konfigurationsverantwortlichen

getObjects

Collection<SystemObject> getObjects(String pid,
                                    long startTime,
                                    long endTime)
Gibt die Objekte zurück, die zu der angegebenen Pid in dem angegebenen Zeitraum gültig waren.

Parameters:
pid - die Pid der gewünschten Objekte
startTime - der zu betachtende Startzeitpunkt des Anfragezeitraums
endTime - der zu betrachtende Endzeitpunkt des Anfragezeitraums
Returns:
Die Objekte, die zu der angegebenen Pid in dem angegebenen Zeitraum gültig waren.

getObjects

Collection<SystemObject> getObjects(Collection<ConfigurationArea> configurationAreas,
                                    Collection<SystemObjectType> systemObjectTypes,
                                    ObjectTimeSpecification objectTimeSpecification)
Gibt die Objekte zurück, die in einem der angegebenen Konfigurationsbereiche sind und deren Objekttyp in der angegebenen Objekttyp-Menge ist.

Parameters:
configurationAreas - Konfigurationsbereiche, die zu berücksichtigen sind. Wird null übergeben, so gilt dies als Wildcard und alle Konfigurationsbereiche werden betrachtet.
systemObjectTypes - Objekttypen, die zu berücksichtigen sind. Wird null übergeben, so gilt dies als Wildcard und alle Objekttypen werden betrachtet.
objectTimeSpecification - Gibt den Gültigkeitsbereich der geforderten Objekte an.
Returns:
Die gewünschten System-Objekte oder eine leere Collection, falls es keine passenden Objekte gibt.

getUserAdministration

UserAdministration getUserAdministration()
Gibt ein Objekt zurück, mit dem die Benutzer der Konfiguration verwaltet werden können.

Returns:
Objekt zur Benutzerverwaltung.