public interface DataModel extends ObjectLookup
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 |
Modifier and Type | Method and Description |
---|---|
BackupResult |
backupConfigurationFiles(java.lang.String targetDirectory,
BackupProgressCallback callback)
Veranlasst die Konfiguration, alle Konfigurationsdateien zu sichern.
|
BackupResult |
backupConfigurationFiles(java.lang.String targetDirectory,
ConfigurationAuthority configurationAuthority,
BackupProgressCallback callback)
Veranlasst die Konfiguration, ausgewählte Konfigurationsdateien zu sichern.
|
ConfigurationObject |
createConfigurationObject(ConfigurationObjectType type,
java.lang.String pid,
java.lang.String name,
java.util.List<? extends ObjectSet> sets)
Deprecated.
Objekte werden innerhalb eines Bereichs
erstellt . |
DynamicObject |
createDynamicObject(SystemObjectType type,
java.lang.String pid,
java.lang.String name)
Deprecated.
Objekte werden innerhalb eines Bereichs
erzeugt . |
short |
getActiveVersion(ConfigurationArea configurationArea)
Gibt die aktive Version des angegebenen Konfigurationsbereichs zurück.
|
default Aspect |
getAspect(java.lang.String pid)
Liefert den Aspekt mit der angegebenen PID zurück.
|
default AttributeGroup |
getAttributeGroup(java.lang.String pid)
Liefert die Attributgruppe mit der angegebenen PID zurück.
|
AttributeGroupUsage |
getAttributeGroupUsage(long usageIdentification)
Bestimmt die Attributgruppenverwendung mit der angegebenen Datenverteiler-Identifizierung.
|
default AttributeGroupUsage |
getAttributeGroupUsage(java.lang.String attributeGroupPid,
java.lang.String aspectPid)
Bestimmt die Attributgruppenverwendung mit der angegebenen Attributgruppe-Aspekt-Kombination.
|
default AttributeType |
getAttributeType(java.lang.String pid)
Liefert den Attribut-Typ mit der angegebenen PID zurück.
|
java.util.List<SystemObjectType> |
getBaseTypes()
Liefert die Basistypen, also die Typ-Objekte, die keinen anderen Typ erweitern, zurück.
|
default ConfigurationObject |
getConfigObject(java.lang.String pid)
Liefert das Konfigurations-Objekt mit der angegebenen PID zurück.
|
default ConfigurationObjectType |
getConfigType(java.lang.String pid)
Liefert das Konfigurations-Typ-Objekt mit der angegebenen PID zurück.
|
ConfigurationArea |
getConfigurationArea(java.lang.String pid)
Liefert zu der angegebenen Pid den passenden Konfigurationsbereich.
|
ConfigurationAuthority |
getConfigurationAuthority()
Liefert den lokalen Verantwortlichen der gesamten Konfiguration.
|
java.lang.String |
getConfigurationAuthorityPid()
Liefert die Pid des lokalen Verantwortlichen der gesamten Konfiguration.
|
Data[] |
getConfigurationData(java.util.Collection<SystemObject> objects,
AttributeGroup atg)
Liefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück.
|
Data[] |
getConfigurationData(java.util.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.
|
default DataDescription |
getDataDescription(java.lang.String attributeGroupPid,
java.lang.String aspectPid)
Erzeugt eine DataDescription mit der angegebenen Attributgruppe-Aspekt-Kombination.
|
default DynamicObject |
getDynamicObject(java.lang.String pid)
Liefert das dynamische Objekt mit der angegebenen PID zurück.
|
default DynamicObjectType |
getDynamicType(java.lang.String pid)
Liefert das Dynamische-Typ-Objekt mit der angegebenen PID zurück.
|
SystemObject |
getObject(long id)
Liefert das System-Objekt mit der angegebenen Objekt-ID zurück.
|
SystemObject |
getObject(java.lang.String pid)
Liefert das System-Objekt mit der angegebenen PID zurück.
|
java.util.Collection<SystemObject> |
getObjects(java.util.Collection<ConfigurationArea> configurationAreas,
java.util.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.
|
java.util.List<SystemObject> |
getObjects(long... ids)
Liefert eine Liste zurück, die zu den angegebenen IDs die zugehörigen System-Objekte enthält.
|
java.util.List<SystemObject> |
getObjects(java.lang.String... pids)
Liefert eine Liste zurück, die zu den angegebenen PIDs die zugehörigen System-Objekte enthält.
|
java.util.Collection<SystemObject> |
getObjects(java.lang.String pid,
long startTime,
long endTime)
Gibt die Objekte zurück, die zu der angegebenen Pid in dem angegebenen Zeitraum gültig waren.
|
java.util.List<SystemObject> |
getObjectsById(java.util.Collection<java.lang.Long> ids)
Liefert eine Liste zurück, die zu den angegebenen IDs die zugehörigen System-Objekte enthält.
|
java.util.List<SystemObject> |
getObjectsByPid(java.util.Collection<java.lang.String> pids)
Liefert eine Liste zurück, die zu den angegebenen PIDs die zugehörigen System-Objekte enthält.
|
default ObjectSetType |
getObjectSetType(java.lang.String pid)
Liefert das Mengen-Typ-Objekt mit der angegebenen PID zurück.
|
default SystemObjectType |
getType(java.lang.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.
|
getObject, getObject
Data[] getConfigurationData(java.util.Collection<SystemObject> objects, AttributeGroup atg)
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.objects
- Systemobjekte
der gewünschten konfigurierenden Datensätze.atg
- Attributgruppe der gewünschten Datensätze.objects
einen
korrespondierender konfigurierender Datensatz oder null
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt
Kombination hat.Data[] getConfigurationData(java.util.Collection<SystemObject> objects, AttributeGroup atg, Aspect asp)
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.objects
- Liste der Systemobjekte
der gewünschten konfigurierenden Datensätze.atg
- Attributgruppe der gewünschten Datensätze.asp
- Aspekt der gewünschten Datensätze.objects
einen
korrespondierender konfigurierender Datensatz oder null
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt
Kombination hat.Data[] getConfigurationData(SystemObject[] objects, AttributeGroup atg)
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.objects
- Array mit den Systemobjekten
der gewünschten konfigurierenden Datensätze.atg
- Attributgruppe der gewünschten Datensätze.objects
einen
korrespondierender konfigurierender Datensatz oder null
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt
Kombination hat.Data[] getConfigurationData(SystemObject[] objects, AttributeGroup atg, Aspect asp)
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.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.objects
einen
korrespondierender konfigurierender Datensatz oder null
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt
Kombination hat.short getActiveVersion(ConfigurationArea configurationArea)
configurationArea
- der KonfigurationsbereichSystemObject getObject(java.lang.String pid)
getObject
in interface ObjectLookup
pid
- Die permanente ID des System-Objektsnull
, wenn es kein Objekt mit der angegebenen PID gibt.java.lang.IllegalArgumentException
- wenn der Parameter null istDataModel
SystemObject getObject(long id)
getObject
in interface ObjectLookup
id
- Die Objekt-ID des System-Objektsnull
, wenn es kein Objekt mit der angegebenen ID gibt.DataModel
java.util.List<SystemObject> getObjects(long... ids)
null
.
Diese Methode kann bei der Anfrage nach mehreren IDs schneller sein, als mehrmals getObject(long)
aufzurufen.
ids
- Array mit IDsgetObject(long)
java.util.List<SystemObject> getObjects(java.lang.String... pids)
null
.
Diese Methode kann bei der Anfrage nach mehreren PIDs schneller sein, als mehrmals getObject(java.lang.String)
aufzurufen.
pids
- Array mit PIDsjava.lang.IllegalArgumentException
- wenn ein Element des Parameters null
istgetObject(java.lang.String)
java.util.List<SystemObject> getObjectsById(java.util.Collection<java.lang.Long> ids)
null
.
Diese Methode kann bei der Anfrage nach mehreren IDs schneller sein, als mehrmals getObject(long)
aufzurufen.
ids
- Liste mit IDsjava.lang.IllegalArgumentException
- wenn ein Element des Parameters null
istgetObject(long)
java.util.List<SystemObject> getObjectsByPid(java.util.Collection<java.lang.String> pids)
null
.
Diese Methode kann bei der Anfrage nach mehreren PIDs schneller sein, als mehrmals getObject(java.lang.String)
aufzurufen.
pids
- Liste mit PIDsjava.lang.IllegalArgumentException
- wenn ein Element des Parameters null
istgetObject(java.lang.String)
SystemObjectType getTypeTypeObject()
java.util.List<SystemObjectType> getBaseTypes()
@Nullable default SystemObjectType getType(java.lang.String pid)
pid
- Die permanente ID des Typ-Objektsnull
, wenn es kein Objekt mit der angegebenen PID gibt.java.lang.IllegalArgumentException
- Wenn das Objekt mit der angegebenen Pid kein Typ-Objekt ist.@Nullable default DynamicObjectType getDynamicType(java.lang.String pid)
pid
- Die permanente ID des Typ-Objektsnull
, wenn es kein Objekt mit der angegebenen PID gibt.java.lang.IllegalArgumentException
- Wenn das Objekt mit der angegebenen Pid kein Dynamischer-Typ-Objekt ist.@Nullable default ConfigurationObjectType getConfigType(java.lang.String pid)
pid
- Die permanente ID des Typ-Objektsnull
, wenn es kein Objekt mit der angegebenen PID gibt.java.lang.IllegalArgumentException
- Wenn das Objekt mit der angegebenen Pid kein Konfigurations-Typ-Objekt ist.@Nullable default ConfigurationObject getConfigObject(java.lang.String pid)
pid
- Die permanente ID des Objektsnull
, wenn es kein Objekt mit der angegebenen PID gibt.java.lang.IllegalArgumentException
- Wenn das Objekt mit der angegebenen Pid kein konfigurierendes Objekt ist.@Nullable default DynamicObject getDynamicObject(java.lang.String pid)
pid
- Die permanente ID des Objektsnull
, wenn es kein Objekt mit der angegebenen PID gibt.java.lang.IllegalArgumentException
- Wenn das Objekt mit der angegebenen Pid kein Dynamisches Objekt ist.@Nullable default ObjectSetType getObjectSetType(java.lang.String pid)
pid
- Die permanente ID des Mengen-Typ-Objektsnull
, wenn es kein Objekt mit der angegebenen PID gibt.java.lang.IllegalArgumentException
- Wenn das Objekt mit der angegebenen Pid kein Mengen-Typ-Objekt ist.@Nullable default AttributeGroup getAttributeGroup(java.lang.String pid)
pid
- Die permanente ID der Attributgruppenull
, wenn es kein Objekt mit der gewünschten PID gibt.java.lang.IllegalArgumentException
- Wenn das Objekt mit der angegebenen Pid keine Attributgruppe ist.@Nullable default AttributeType getAttributeType(java.lang.String pid)
pid
- Die permanente ID des Attribut-Typsnull
, wenn es kein Objekt mit der angegebenen PID gibt.java.lang.IllegalArgumentException
- Wenn das Objekt mit der angegebenen Pid kein Attributtyp ist.@Nullable default Aspect getAspect(java.lang.String pid)
pid
- Die permanente ID des Aspekts.null
, wenn es kein Objekt mit der gewünschten PID gibt.java.lang.IllegalArgumentException
- Wenn das Objekt mit der angegebenen Pid kein Aspekt ist.@Nullable AttributeGroupUsage getAttributeGroupUsage(long usageIdentification)
usageIdentification
- Identifizierung dieser Attributgruppenverwendung bei der Kommunikation über den Datenverteiler.null
, wenn es keine Attributgruppenverwendung mit der angegebenen
Identifizierung gibt.@NotNull default AttributeGroupUsage getAttributeGroupUsage(java.lang.String attributeGroupPid, java.lang.String aspectPid)
this.getAttributeGroup(attributeGroupPid).getAttributeGroupUsage(aspectPid)
mit zusätzlicher Fehlerbehandlung. Diese Methode gibt nicht null
zurück, sondern wirft bei nicht vorhandenen Objekten eine IllegalArgumentException
mit aussagekräftiger Beschreibung.
Diese Methode ist eine kompakte Alternative zum oben genannten Code und sollte nur benutzt werden, wenn Kompatibilität mit einer alten Kernsoftware nicht erforderlich ist.
attributeGroupPid
- Pid der AttributgruppeaspectPid
- Pid des Aspekts.java.lang.IllegalArgumentException
- Wenn Attributgruppe oder Aspekt fehlen oder es bei der Attributgruppe keine Verwendung des angegebenen
Aspektes gibt.@NotNull default DataDescription getDataDescription(java.lang.String attributeGroupPid, java.lang.String aspectPid)
new DataDescription(this.getAttributeGroup(attributeGroupPid), this.getAspect(aspectPid));
mit zusätzlicher Fehlerbehandlung. Diese Methode gibt nicht null
zurück, sondern wirft bei nicht vorhandenen Objekten eine IllegalArgumentException
mit aussagekräftiger Beschreibung.
Im Gegensatz zum DataDescription
-Konstruktor prüft diese Methode, ob Attributgruppe und Aspekt eine gültige Attributgruppenverwendung
für den Online-Versand bzw. -Empfang von Daten ergeben.
Diese Methode ist eine kompakte Alternative zum oben genannten Code und sollte nur benutzt werden, wenn Kompatibilität mit einer alten Kernsoftware nicht erforderlich ist.
attributeGroupPid
- Pid der AttributgruppeaspectPid
- Pid des Aspekts.java.lang.IllegalArgumentException
- Wenn Attributgruppe oder Aspekt fehlen oder es bei der Attributgruppe keine Verwendung des angegebenen
Aspektes für den Versand von Onlinedaten gibt.ResultData.ResultData(SystemObject, DataDescription, long, Data)
@Deprecated ConfigurationObject createConfigurationObject(ConfigurationObjectType type, java.lang.String pid, java.lang.String name, java.util.List<? extends ObjectSet> sets) throws ConfigurationChangeException
erstellt
.Standard-Konfigurationsbereich
des aktuellen KV
erstellt.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.ConfigurationChangeException
- Wenn das Objekt nicht erzeugt werden konnte.ConfigurationObject
,
SystemObject.isValid()
,
ConfigurationAuthority.getDefaultConfigurationArea()
@Deprecated DynamicObject createDynamicObject(SystemObjectType type, java.lang.String pid, java.lang.String name) throws ConfigurationChangeException
erzeugt
.Standard-Konfigurationsbereich
des aktuellen KV
erstellt.type
- Typ des neuen Objektspid
- PID des neuen Objekts.name
- Name des neuen Objekts.ConfigurationChangeException
- Wenn das Objekt nicht erzeugt werden konnte.SystemObject
,
SystemObject.isValid()
ConfigurationArea getConfigurationArea(java.lang.String pid)
pid
- die Pid des KonfigurationsbereichsConfigurationAuthority getConfigurationAuthority()
java.lang.String getConfigurationAuthorityPid()
java.util.Collection<SystemObject> getObjects(java.lang.String pid, long startTime, long endTime)
pid
- die Pid der gewünschten ObjektestartTime
- der zu betachtende Startzeitpunkt des AnfragezeitraumsendTime
- der zu betrachtende Endzeitpunkt des Anfragezeitraumsjava.util.Collection<SystemObject> getObjects(java.util.Collection<ConfigurationArea> configurationAreas, java.util.Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification objectTimeSpecification)
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.UserAdministration getUserAdministration()
BackupResult backupConfigurationFiles(java.lang.String targetDirectory, BackupProgressCallback callback) throws ConfigurationTaskException, RequestException
targetDirectory
- Relatives Zielverzeichnis innerhalb des in der Konfiguration (mit dem Parameter -sicherungsVerzeichnis) festgelegten
Sicherungsordners. Wird null oder ein Leerstring angegeben, generiert die Konfiguration aus aktuellem Datum und Uhrzeit
einen neuen Pfadnamen. Falls das de.bsvrz.puk.config.configFile.datamodel.ConfigDataModel
direkt benutzt wird
und mit de.bsvrz.puk.config.configFile.datamodel.ConfigDataModel#setBackupBaseDirectory(java.io.File)
noch kein
Zielverzeichnis angelegt wurde, kann auch ein absoluter Pfadname angegeben werden. Ein relativer Pfadname würde dann
relativ zum Arbeitsverzeichnis interpretiert.callback
- Objekt, an das Statusmeldungen gesendet werden oder null, falls keine Rückmeldungen gewünscht sindConfigurationTaskException
- Der Backup-Vorgang konnte nicht durchgeführt werden, beispielsweise weil das Zielverzeichnis falsch war.
Falls das Sichern einzelner Dateien fehlschlägt wird keine solche Exception geworfen, stattdessen findet man
innerhalb vom callback eventuelle Fehlschläge und BackupResult.getFailed ist größer 0.RequestException
- Fehler bei der Übertragung der Anfrage oder beim Empfang von Statusmeldungen der Konfiguration. Achtung: Man
kann nicht zwingend darauf schließen, dass der Backupvorgang nicht erfolgreich war, wenn eine Exception
geworfen wurde. Wenn während des Vorgangs beispielsweise die Verbindung zwischen Datenverteiler und
Konfiguration abbricht, wird eine Exception geworfen, aber die Konfiguration wird den Vorgang vermutlich
dennoch korrekt beenden.BackupResult backupConfigurationFiles(java.lang.String targetDirectory, ConfigurationAuthority configurationAuthority, BackupProgressCallback callback) throws ConfigurationTaskException, RequestException
targetDirectory
- Relatives Zielverzeichnis innerhalb des in der Konfiguration (mit dem Parameter -sicherungsVerzeichnis)
festgelegten Sicherungsordners. Wird null oder ein Leerstring angegeben, generiert die Konfiguration aus
aktuellem Datum und Uhrzeit einen neuen Pfadnamen. Falls das de.bsvrz.puk.config.configFile.datamodel
.ConfigDataModel
direkt benutzt wird und mit de.bsvrz.puk.config.configFile.datamodel
.ConfigDataModel#setBackupBaseDirectory(java.io.File)
noch kein Zielverzeichnis angelegt wurde, kann auch ein
absoluter Pfadname angegeben werden. Ein relativer Pfadname würde dann relativ zum Arbeitsverzeichnis
interpretiert.configurationAuthority
- Konfigurationsverantwortlicher, dessen Konfigurations-Dateien gesichert werden sollen. Falls null werden alle
Dateien gesichert.callback
- Objekt, an das Statusmeldungen gesendet werden oder null, falls keine Rückmeldungen gewünscht sindConfigurationTaskException
- Der Backup-Vorgang konnte nicht durchgeführt werden, beispielsweise weil das Zielverzeichnis falsch war.
Falls das Sichern einzelner Dateien fehlschlägt wird keine solche Exception geworfen, stattdessen findet man
innerhalb vom callback eventuelle Fehlschläge und BackupResult.getFailed ist größer 0.RequestException
- Fehler bei der Übertragung der Anfrage oder beim Empfang von Statusmeldungen der Konfiguration. Achtung: Man
kann nicht zwingend darauf schließen, dass der Backupvorgang nicht erfolgreich war, wenn eine Exception
geworfen wurde. Wenn während des Vorgangs beispielsweise die Verbindung zwischen Datenverteiler und
Konfiguration abbricht, wird eine Exception geworfen, aber die Konfiguration wird den Vorgang vermutlich
dennoch korrekt beenden.