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

java.lang.Object
  extended by de.bsvrz.dav.daf.main.impl.config.DafDataModel
All Implemented Interfaces:
DataModel, ObjectLookup, UpdateDynamicObjects

public class DafDataModel
extends Object
implements DataModel, UpdateDynamicObjects

Applikationsseitige Implementierung der DataModel Schnittstelle, die Zugriffe auf die Datenmodelle und Versorgungsdaten ermöglicht.

Author:
Kappich Systemberatung

Nested Class Summary
(package private) static class DafDataModel.ConfigDataKey
          Identifikation eines konfigurierenden Datensatzes, die das zugehörige Systemobjekt und die zugehörige Attributgruppenverwendung speichert.
private  class DafDataModel.ConfigurationAreaInfo
          Hilfsklasse zum Speichern von Informationen zu Konfigurationsbereichen.
private static class DafDataModel.NotificationObject
          Speichert die für eine asynchrone Benachrichtigung erforderlichen Parameter.
private  class DafDataModel.NotifyingMutableCollectionChangeListener
          Klasse zur asynchronen Benachrichtigung der Listener für Änderungen der Elemente von dynamischen Zusammenstellungen.
 
Field Summary
private  Map<Long,DafDataModel.ConfigurationAreaInfo> _areaInfos
           
private  DafSystemObject[] _configAreas
           
private  Hashtable<DafDataModel.ConfigDataKey,Object> _configDataValuesTable
          Tabelle der zwischengespeicherten konfigurierenden Datensätze, als Key dient ein ConfigDataKey mit Systemobjekt und Attributgruppenverwendung
private  DafConfigurationAuthority _configurationAuthority
          Konfigurationsverantwortlicher der Konfiguration
private  long _configurationAuthorityId
          Die Objekt-Id des Konfigurationsverantwortlichen
private  ConfigurationManager _configurationManager
          Objekt zur Verwaltung der Kommunikation mit der Konfiguration
private  AttributeGroupUsage _configurationReadReplyUsage
          Attribugruppenverwendung Konfigurationsleseantworten
private  AttributeGroupUsage _configurationReadRequestUsage
          Attribugruppenverwendung Konfigurationsleseanfragen
private  long _configurationTime
          Zeit der Konfiguration, beim Verbindungsaufbau
private  AttributeGroupUsage _configurationWriteReplyUsage
          Attribugruppenverwendung Konfigurationsschreibantworten
private  AttributeGroupUsage _configurationWriteRequestUsage
          Attribugruppenverwendung Konfigurationsschreibanfragen
private  ClientDavInterface _connection
          Verbindung zum Datenverteiler.
private  boolean _connectionClosed
          Wird gesetzt, wenn die Verbindung zum Datenverteiler geschlossen wurde.
private  DavConnectionListener _davConnectionListener
           
private static Debug _debug
          DebugLogger für Debug-Ausgaben
private  Aspect _defaultConfigurationDataAspect
          Aspekt "asp.eigenschaften", der als Default für Konfigurierende Datensätze bei Anfragen ohne Aspekt benutzt wird.
private  Set<SystemObjectType> _metaObjectTypes
           
private static Object _noDataMarker
          Falls ein Datensatz angefordert wurde, aber es keinen Datensatz gab, wird dieser Platzhalter eingefügt.
private  DafDataModel.NotifyingMutableCollectionChangeListener _notifyingMutableCollectionChangeListener
          Objekt zur asynchronen Benachrichtigung der Listener für Änderungen der Elemente von dynamischen Zusammenstellungen.
private  LinkedList _pendingResponces
          Liste mit den noch nicht bearbeiteten Antworten auf Konfigurationsanfragen
private  BaseSubscriptionInfo _readBaseSubscriptionInfo
          Anmeldeinfo für Konfigurationsanfragen zum Lesen
private  ConfigurationRequester _remoteRequester
          ConfigurationRequester für Konfigurationsanfragen.
private  HashMap<Long,DafSystemObject> _systemObjectsById
          Map der zwischengespeicherten konfigurierenden oder dynamischen Systemobjekte, als Key dient die ID des Objekts
private  HashMap<String,DafSystemObject> _systemObjectsByPid
          Map der zwischengespeicherten Objekte mit PID, als Key dient die PID des Objekts
private  UserAdministration _userAdministration
          Verschickt Auftrage zur Benutzerverwaltung mittels des ConfigurationsRequesters an die Konfiguration.
 
Constructor Summary
DafDataModel(ClientDavInterface connection)
          Erzeugt ein neues Objekt zum Zugriff auf die Konfiguration über eine vorgegebene Datenverteilerverbindung.
 
Method Summary
(package private)  void addSet(DafConfigurationObject configurationObject, ObjectSet set)
          Ordnet dem Konfigurationsobjekt eine weitere Menge zu.
private  List<SystemObject> castInterfaceToClass(Collection<SystemObject> systemObjects)
          Diese Methode castet eine Collection, die Objekte enthält, die ein Interface implementieren, auf die konkrete Klasse.
 void close()
          Diese Methode sollte beim Terminieren der Datenverteilerverbindung aufgerufen werden.
 ConfigurationObject createConfigurationObject(ConfigurationObjectType type, String pid, String name, List sets)
          Erzeugt ein neues Konfigurationsobjekt eines vorgegebenen Typs.
 DynamicObject createDynamicObject(SystemObjectType type, String pid, String name)
          Erzeugt ein neues dynamisches System-Objekt eines vorgegebenen Typs.
 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 getBaseTypes()
          Liefert die Basistypen, also die Typ-Objekte, die keinen anderen Typ erweitern, zurück.
(package private)  Hashtable<DafDataModel.ConfigDataKey,Object> getConfigDataValuesTable()
          gibt die HashTabel mit den confDatensätzen zurück.
 DafConfigurationArea getConfigurationArea(String pid)
          Liefert zu der angegebenen Pid den passenden Konfigurationsbereich.
 ConfigurationAuthority getConfigurationAuthority()
          Liefert den lokalen Verantwortlichen der gesamten Konfiguration.
 long getConfigurationAuthorityId()
          Gibt die Objekt-Id des Konfigurationsverantwortlichen zurück.
 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(Collection<SystemObject> objects, AttributeGroupUsage usage)
          Liefert die konfigurierenden Datensätze einer Attributgruppenverwendung 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 aspect)
          Liefert die konfigurierenden Datensätze einer Attributgruppe und eines Aspekts für mehrere Objekte zurück.
 Data[] getConfigurationData(SystemObject[] objects, AttributeGroupUsage usage)
          Liefert die konfigurierenden Datensätze einer Attributgruppenverwendung für mehrere Objekte zurück.
(package private)  Data getConfigurationData(SystemObject object, AttributeGroup atg)
          Liefert einen konfigurierenden Datensatz eines Objekts zurück.
(package private)  Data getConfigurationData(SystemObject object, AttributeGroupUsage atgUsage)
          Liefert einen konfigurierenden Datensatz eines Objekts zurück.
 ConfigurationManager getConfigurationManager()
          Liefert das Objekt zur Verwaltung der Kommunikation mit der Konfiguration zurück.
 ClientDavInterface getConnection()
          Gibt die aktuelle Verbindung zum Datenverteiler zurück.
(package private)  List<SystemObject> getElementsOfType(DafSystemObjectType type, long time)
          Bestimmt die zu einem vorgegebenen Zeitpunkt zur Zusammenstellung gehörenden Elemente.
(package private)  List<SystemObject> getElementsOfTypeDuringPeriod(DafSystemObjectType type, long startTime, long endTime)
          Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Zusammenstellung gehört haben.
(package private)  List<SystemObject> getElementsOfTypeInPeriod(DafSystemObjectType type, long startTime, long endTime)
          Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Zusammenstellung gehört haben.
private  File getLocalConfigurationCacheFile(String configurationPath)
          Bestimmt das File-Objekt für die Datei zur lokalen Speicherung von Konfigurationsdaten.
private  DafSystemObject[] getMetaDataFromConfiguration()
          Initiale Abfrage der von der Applikation benötigten Objekte.
 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.
 List getObjectDataValues(SystemObject object, AttributeGroup attributeGroup)
          Deprecated. Zum Lesen von konfigurierenden Datensätzen sollten die Methoden getConfigurationData(java.util.Collection, de.bsvrz.dav.daf.main.config.AttributeGroup) und SystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup) verwendet werden.
(package private)  DafSystemObject getObjectFromCache(long objectId)
          Gibt das SystemObjekt mit der angegebenen Objekt-Id aus dem Cache 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.
(package private)  List<SystemObject> getObjectsOfType(DafSystemObjectType type)
          Liefert eine Liste mit allen Systemobjekten eines Typs zurück.
 ConfigurationRequester getRequester()
          Mit dem zurückgegebenen Objekt können Anfragen an eine Konfiguration gestellt werden.
(package private)  List getSetElements(DafObjectSet set, long time)
          Bestimmt die zu einem vorgegebenen Zeitpunkt zur Mengenzusammenstellung gehörenden Elemente.
(package private)  List getSetElementsDuringPeriod(DafObjectSet set, long startTime, long endTime)
          Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Mengenzusammenstellung gehört haben.
(package private)  List getSetElementsInAllVersions(DafObjectSet set, short fromVersion, short toVersion)
          Bestimmt die Elemente, die in allen Konfigurationsversionen eines vorgegebenen Versionsbereichs zur Mengenzusammenstellung gehört haben.
(package private)  List getSetElementsInAnyVersions(DafObjectSet set, short fromVersion, short toVersion)
          Bestimmt die Elemente, die in mindestens einer Konfigurationsversion eines vorgegebenen Versionsbereichs zur Mengenzusammenstellung gehört haben.
(package private)  List getSetElementsInNextVersion(DafObjectSet set)
          Bestimmt die nach Aktivierung der nächsten Konfigurationsversion zur Mengenzusammenstellung gehörenden Elemente.
(package private)  List getSetElementsInPeriod(DafObjectSet set, long startTime, long endTime)
          Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Mengenzusammenstellung gehört haben.
(package private)  List getSetElementsInVersion(DafObjectSet set, short version)
          Bestimmt die in einer bestimmten Konfigurationsversion zur Mengenzusammenstellung gehörenden Elemente.
private  DafSystemObject getSystemObjectFromConfiguration(long id)
          Lädt ein Systemobjekt durch entsprechende Konfigurationsanfragen aus der Konfiguration.
 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.
 void init(ConfigurationManager configurationManager, long configurationAuthorityId)
          Initialisiert dieses Objekt nach erfolgreichem Verbindungsaufbau mit dem Datenverteiler
(package private)  boolean invalidate(DafSystemObject object)
          Löscht das Objekt, indem es ungültig gemacht wird.
 void loadLocalConfigurationCache()
          Liest lokal zwischengespeicherte Konfigurationsobjekte und konfigurierende Datensätze ein, falls in dem entsprechenden Aufrufparameter ein Verzeichnis angegeben wurde und dort eine passende Datei vorhanden ist.
 void newDynamicObjectCreated(long objectId, long typeId)
          Diese Methode wird aufgerufen, wenn die Konfiguration propagiert, dass ein neues dynamisches Objekt erzeugt wurde.
(package private)  void removeSet(DafConfigurationObject configurationObject, ObjectSet set)
          Entfernt die Zuordnung von diesem Konfigurationsobjekt zu einer Menge.
(package private)  boolean revalidate(DafSystemObject object)
          Macht ein bereits als ungültig markiertes Objekt wieder gültig.
private  void saveLocalConfigurationCache()
          Speichert Konfigurationsobjekte und konfigurierende Datensätze in einer lokalen Konfigurationsdatei, falls im entsprechenden Aufrufparameter ein Verzeichnis angegeben wurde.
(package private)  void setConfigurationData(SystemObject systemObject, AttributeGroupUsage atgUsage, Data data)
          Ändert einen konfigurierenden Datensatz eines Objekts.
(package private)  boolean setName(DafSystemObject object, String name)
          Setzt den Namen eines Systemobjekts.
 void update(ConfigTelegram telegram)
          Diese Methode wird aufgerufen, wenn eine Antwort auf eine Konfigurationsanfrage empfangen wurde.
private  DafSystemObject updateInternalDataStructure(DafSystemObject systemObject)
          Aktualisiert die Tabellen mit zwischengespeicherten Objekten, wenn Objekte gültig bzw.
 void updateName(long objectId, long typeId, String newName)
          Diese Methode wird aufgerufen, wenn die Konfiguration eine Namensänderung eines dynamischen Objekts propagiert hat.
 void updateNotValidSince(long objectId, long typeId, long invalidTime)
          Diese Methode wird aufgerufen, wenn die Konfiguration propagiert, dass ein dynamisches Objekt ungültig wurde.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_debug

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


_connection

private ClientDavInterface _connection
Verbindung zum Datenverteiler.


_configurationTime

private long _configurationTime
Zeit der Konfiguration, beim Verbindungsaufbau


_systemObjectsById

private HashMap<Long,DafSystemObject> _systemObjectsById
Map der zwischengespeicherten konfigurierenden oder dynamischen Systemobjekte, als Key dient die ID des Objekts


_systemObjectsByPid

private HashMap<String,DafSystemObject> _systemObjectsByPid
Map der zwischengespeicherten Objekte mit PID, als Key dient die PID des Objekts


_configDataValuesTable

private Hashtable<DafDataModel.ConfigDataKey,Object> _configDataValuesTable
Tabelle der zwischengespeicherten konfigurierenden Datensätze, als Key dient ein ConfigDataKey mit Systemobjekt und Attributgruppenverwendung


_remoteRequester

private ConfigurationRequester _remoteRequester
ConfigurationRequester für Konfigurationsanfragen.


_notifyingMutableCollectionChangeListener

private DafDataModel.NotifyingMutableCollectionChangeListener _notifyingMutableCollectionChangeListener
Objekt zur asynchronen Benachrichtigung der Listener für Änderungen der Elemente von dynamischen Zusammenstellungen.


_noDataMarker

private static final Object _noDataMarker
Falls ein Datensatz angefordert wurde, aber es keinen Datensatz gab, wird dieser Platzhalter eingefügt. Dies verhindert, das der Datensatz erneut angefordert wird.


_configurationAuthority

private DafConfigurationAuthority _configurationAuthority
Konfigurationsverantwortlicher der Konfiguration


_readBaseSubscriptionInfo

private BaseSubscriptionInfo _readBaseSubscriptionInfo
Anmeldeinfo für Konfigurationsanfragen zum Lesen


_configurationManager

private ConfigurationManager _configurationManager
Objekt zur Verwaltung der Kommunikation mit der Konfiguration


_pendingResponces

private LinkedList _pendingResponces
Liste mit den noch nicht bearbeiteten Antworten auf Konfigurationsanfragen


_configurationAuthorityId

private long _configurationAuthorityId
Die Objekt-Id des Konfigurationsverantwortlichen


_defaultConfigurationDataAspect

private Aspect _defaultConfigurationDataAspect
Aspekt "asp.eigenschaften", der als Default für Konfigurierende Datensätze bei Anfragen ohne Aspekt benutzt wird.


_configurationReadRequestUsage

private AttributeGroupUsage _configurationReadRequestUsage
Attribugruppenverwendung Konfigurationsleseanfragen


_configurationReadReplyUsage

private AttributeGroupUsage _configurationReadReplyUsage
Attribugruppenverwendung Konfigurationsleseantworten


_configurationWriteRequestUsage

private AttributeGroupUsage _configurationWriteRequestUsage
Attribugruppenverwendung Konfigurationsschreibanfragen


_configurationWriteReplyUsage

private AttributeGroupUsage _configurationWriteReplyUsage
Attribugruppenverwendung Konfigurationsschreibantworten


_userAdministration

private UserAdministration _userAdministration
Verschickt Auftrage zur Benutzerverwaltung mittels des ConfigurationsRequesters an die Konfiguration. Das Objekt wird so spät wie möglich initialisiert, damit alle Verbindungen aufgebaut werden können.


_connectionClosed

private boolean _connectionClosed
Wird gesetzt, wenn die Verbindung zum Datenverteiler geschlossen wurde.


_davConnectionListener

private DavConnectionListener _davConnectionListener

_areaInfos

private Map<Long,DafDataModel.ConfigurationAreaInfo> _areaInfos

_configAreas

private DafSystemObject[] _configAreas

_metaObjectTypes

private Set<SystemObjectType> _metaObjectTypes
Constructor Detail

DafDataModel

public DafDataModel(ClientDavInterface connection)
Erzeugt ein neues Objekt zum Zugriff auf die Konfiguration über eine vorgegebene Datenverteilerverbindung.

Parameters:
connection - Verbindung zum Datenverteiler.
Method Detail

getConfigDataValuesTable

Hashtable<DafDataModel.ConfigDataKey,Object> getConfigDataValuesTable()
gibt die HashTabel mit den confDatensätzen zurück.

Returns:

init

public void init(ConfigurationManager configurationManager,
                 long configurationAuthorityId)
Initialisiert dieses Objekt nach erfolgreichem Verbindungsaufbau mit dem Datenverteiler

Parameters:
configurationManager - Objekt zur Verwaltung der Kommunikation mit der Konfiguration
configurationAuthorityId - Die Objekt-Id des Konfigurationsverantwortlichen

loadLocalConfigurationCache

public void loadLocalConfigurationCache()
Liest lokal zwischengespeicherte Konfigurationsobjekte und konfigurierende Datensätze ein, falls in dem entsprechenden Aufrufparameter ein Verzeichnis angegeben wurde und dort eine passende Datei vorhanden ist. EinkonfigurationsObjekt wird seriell wie folgt aus der Datei gelesen:
  1. byte: 1 (die eins kennzeichnet ein Konfigurationsobjekt und zeigt an, dass ein solches folgt)
  2. byte: internType (gint an, um welchen Typ von Konfigurationsobjekt es sich handelt)
  3. Object: object(serielles Objekt)
Ein konfigurierender Datensatz wird seriell aus der Datei wie folgt gelesen:
  1. byte: 2 (die zwei kennzeichnet einen konfigurierenden Datensatz und zeigt an das ein solcher folgt)
  2. long: Objekt-ID(Die ID des Objektes zu dem der konfiguriende Datensatz gehört)
  3. long: AtgV-ID(Die ID der Atributgruppenverwedung des konfigurienden Datensatzes)
  4. boolean: true-> Datensatz enthält Daten, false-> Datensatz enthält keine Daten
  5. Data: serialisierte Daten des Datensatzes
Abschließend wird eine byte-0 geschrieben, die anzeigt, dass das Ende der Datei erreicht ist.


saveLocalConfigurationCache

private void saveLocalConfigurationCache()
Speichert Konfigurationsobjekte und konfigurierende Datensätze in einer lokalen Konfigurationsdatei, falls im entsprechenden Aufrufparameter ein Verzeichnis angegeben wurde. Vor den Konfigurationsobjekten und deren Datensätzen wird folgendes geschrieben: EinkonfigurationsObjekt wird seriell wie folgt in der Datei abgelegt:
  1. byte: 1 (die eins kennzeichnet ein Konfigurationsobjekt und zeigt an, dass ein solches folgt)
  2. byte: internType (gint an, um welchen Typ von Konfigurationsobjekt es sich handelt)
  3. Object: object(serielles Objekt)
Ein konfigurierender Datensatz wird seriell in der Datei wie folgt abgelegt:
  1. byte: 2 (die zwei kennzeichnet einen konfigurierenden Datensatz und zeigt an das ein solcher folgt)
  2. long: Objekt-ID(Die ID des Objektes zu dem der konfiguriende Datensatz gehört)
  3. long: AtgV-ID(Die ID der Atributgruppenverwedung des konfigurienden Datensatzes)
  4. boolean: true-> Datensatz enthält Daten, false-> Datensatz enthält keine Daten
  5. Data: serialisierte Daten des Datensatzes
Abschließend wird eine byte-0 geschrieben, die anzeigt, dass das Ende der Datei erreicht ist.


getLocalConfigurationCacheFile

private File getLocalConfigurationCacheFile(String configurationPath)
Bestimmt das File-Objekt für die Datei zur lokalen Speicherung von Konfigurationsdaten. Der Dateiname setzt sich aus der Pid des Konfigurationsverantwortlichen der Konfiguration, dem Namen der Applikation und der Endung .configcache zusammen.

Parameters:
configurationPath - Verzeichnis für die Datei zur lokalen Speicherung von Konfigurationsdaten.
Returns:
File-Objekt für die Datei zur lokalen Speicherung von Konfigurationsdaten.

close

public final void close()
Diese Methode sollte beim Terminieren der Datenverteilerverbindung aufgerufen werden. Sie speichert die zwischengespeicherten Objekte falls gewünscht in einer Datei im lokalen Dateisystem.


getRequester

public ConfigurationRequester getRequester()
Mit dem zurückgegebenen Objekt können Anfragen an eine Konfiguration gestellt werden.

Returns:
Objekt für Konfigurationsanfragen

getConnection

public ClientDavInterface getConnection()
Gibt die aktuelle Verbindung zum Datenverteiler zurück.

Returns:
Die Verbindung zum Datenverteiler

updateInternalDataStructure

private DafSystemObject updateInternalDataStructure(DafSystemObject systemObject)
Aktualisiert die Tabellen mit zwischengespeicherten Objekten, wenn Objekte gültig bzw. ungültig geworden sind.

Parameters:
systemObject - Objekt das möglicherweise gültig bzw. ungültig geworden ist.
Returns:
Bereits vorher zwischengespeichertes Objekt mit der angegebenen Id oder übergebenes Objekt

getConfigurationManager

public final ConfigurationManager getConfigurationManager()
Liefert das Objekt zur Verwaltung der Kommunikation mit der Konfiguration zurück.

Returns:
Objekt zur Verwaltung der Kommunikation oder null, falls es noch nicht gesetzt wurde.
See Also:
init(de.bsvrz.dav.daf.main.impl.ConfigurationManager,long)

getAspect

public final Aspect getAspect(String pid)
Description copied from interface: DataModel
Liefert den Aspekt mit der angegebenen PID zurück.

Specified by:
getAspect in interface DataModel
Parameters:
pid - Die permanente ID des Aspekts.
Returns:
Der gewünschte Aspekt oder null, wenn es kein Objekt mit der gewünschten PID gibt.

getAttributeGroup

public final AttributeGroup getAttributeGroup(String pid)
Description copied from interface: DataModel
Liefert die Attributgruppe mit der angegebenen PID zurück.

Specified by:
getAttributeGroup in interface DataModel
Parameters:
pid - Die permanente ID der Attributgruppe
Returns:
Die gewünschte Attributgruppe oder null, wenn es kein Objekt mit der gewünschten PID gibt.

getAttributeType

public final AttributeType getAttributeType(String pid)
Description copied from interface: DataModel
Liefert den Attribut-Typ mit der angegebenen PID zurück.

Specified by:
getAttributeType in interface DataModel
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.

getType

public final SystemObjectType getType(String pid)
Description copied from interface: DataModel
Liefert das Typ-Objekt mit der angegebenen PID zurück.

Specified by:
getType in interface DataModel
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.

getObjectSetType

public final ObjectSetType getObjectSetType(String pid)
Description copied from interface: DataModel
Liefert das Mengen-Typ-Objekt mit der angegebenen PID zurück.

Specified by:
getObjectSetType in interface DataModel
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.

getTypeTypeObject

public final SystemObjectType getTypeTypeObject()
Description copied from interface: DataModel
Liefert das Systemobjekt, das den Typ von Typobjekten darstellt.

Specified by:
getTypeTypeObject in interface DataModel
Returns:
Das Typ-Typ-Objekt.

getBaseTypes

public final List getBaseTypes()
Description copied from interface: DataModel
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".

Specified by:
getBaseTypes in interface DataModel
Returns:
Liste mit Typ-Objekten.

getObject

public final SystemObject getObject(long id)
Description copied from interface: DataModel
Liefert das System-Objekt mit der angegebenen Objekt-ID zurück.

Specified by:
getObject in interface DataModel
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

getMetaDataFromConfiguration

private final DafSystemObject[] getMetaDataFromConfiguration()
Initiale Abfrage der von der Applikation benötigten Objekte.

Returns:
Array mit den Konfigurationsbereichen

getObject

public SystemObject getObject(String pid)
Description copied from interface: DataModel
Liefert das System-Objekt mit der angegebenen PID zurück.

Specified by:
getObject in interface DataModel
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

getSystemObjectFromConfiguration

private final DafSystemObject getSystemObjectFromConfiguration(long id)
Lädt ein Systemobjekt durch entsprechende Konfigurationsanfragen aus der Konfiguration.

Parameters:
id - ID des gewünschen Objekts.
Returns:
Gewünschtes Systemobjekt

getObjectsOfType

final List<SystemObject> getObjectsOfType(DafSystemObjectType type)
Liefert eine Liste mit allen Systemobjekten eines Typs zurück. Zu beachten ist, das auch Objekte eines Typs, der diesen Typ erweitert, zurückgegeben werden.

Parameters:
type - Typ der gewünschten Systemobjekte
Returns:
Liste von System-Objekten

createConfigurationObject

public final ConfigurationObject createConfigurationObject(ConfigurationObjectType type,
                                                           String pid,
                                                           String name,
                                                           List sets)
                                                    throws ConfigurationChangeException
Description copied from interface: DataModel
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.

Specified by:
createConfigurationObject in interface DataModel
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

public final DynamicObject createDynamicObject(SystemObjectType type,
                                               String pid,
                                               String name)
                                        throws ConfigurationChangeException
Description copied from interface: DataModel
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.

Specified by:
createDynamicObject in interface DataModel
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

public DafConfigurationArea getConfigurationArea(String pid)
Description copied from interface: DataModel
Liefert zu der angegebenen Pid den passenden Konfigurationsbereich.

Specified by:
getConfigurationArea in interface DataModel
Parameters:
pid - die Pid des Konfigurationsbereichs
Returns:
der Konfigurationsbereich zur angegebenen Pid

getConfigurationAuthority

public ConfigurationAuthority getConfigurationAuthority()
Description copied from interface: DataModel
Liefert den lokalen Verantwortlichen der gesamten Konfiguration.

Specified by:
getConfigurationAuthority in interface DataModel
Returns:
der Konfigurationsverantwortliche der Konfiguration

getConfigurationAuthorityPid

public String getConfigurationAuthorityPid()
Description copied from interface: DataModel
Liefert die Pid des lokalen Verantwortlichen der gesamten Konfiguration.

Specified by:
getConfigurationAuthorityPid in interface DataModel
Returns:
die Pid des Konfigurationsverantwortlichen

getObjects

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

Specified by:
getObjects in interface DataModel
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

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

Specified by:
getObjects in interface DataModel
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

public UserAdministration getUserAdministration()
Description copied from interface: DataModel
Gibt ein Objekt zurück, mit dem die Benutzer der Konfiguration verwaltet werden können.

Specified by:
getUserAdministration in interface DataModel
Returns:
Objekt zur Benutzerverwaltung.

getObjectDataValues

@Deprecated
public final List getObjectDataValues(SystemObject object,
                                                 AttributeGroup attributeGroup)
Deprecated. Zum Lesen von konfigurierenden Datensätzen sollten die Methoden getConfigurationData(java.util.Collection, de.bsvrz.dav.daf.main.config.AttributeGroup) und SystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup) verwendet werden.

Ermittelt einen konfigurierenden Datensatz. Wenn nicht vorhanden wird es aus der Konfiguration geholt.

Parameters:
object - Objekt des gewünschten Datensatzes
attributeGroup - Attributgruppe des gewünschten Datensatzes
Returns:
Liste mit den Attributwerten des Datensatzes.

update

public final void update(ConfigTelegram telegram)
Diese Methode wird aufgerufen, wenn eine Antwort auf eine Konfigurationsanfrage empfangen wurde.

Parameters:
telegram - Telegramm mit der empfangenen Antwort aus der Konfiguration.

invalidate

final boolean invalidate(DafSystemObject object)
Löscht das Objekt, indem es ungültig gemacht wird. Dynamische System-Objekte werden sofort ungültig. Bereits gültige konfigurierende System-Objekte werden mit Aktivierung der nächsten Konfigurationsversion ungültig. Für historische Anfragen bleiben ungültige Objekte nach wie vor existent. Konfigurierende System-Objekte, die noch nie gültig waren werden durch diese Methode gelöscht und sind nicht mehr zugreifbar.

Parameters:
object - Objekt, dass gelöscht bzw. ungültig gesetzt werden soll.
Returns:
true, falls das Objekt gelöscht bzw. ungültig gesetzt wurde; false wenn die Operation nicht durchgeführt werden konnte.

revalidate

final boolean revalidate(DafSystemObject object)
Macht ein bereits als ungültig markiertes Objekt wieder gültig. Wenn ein Konfigurationsobjekt mit der Methode DafSystemObject.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.

Parameters:
object - Objekt, dass wieder gültig gemacht werden soll.
Returns:
true, falls das Objekt wieder gültig gemacht werden konnte; false wenn die Operation nicht durchgeführt werden konnte.

setName

final boolean setName(DafSystemObject object,
                      String name)
Setzt den Namen eines Systemobjekts.

Parameters:
object - Systemobjekt, das umbenannt werden soll.
name - Neuer Name des Objekts. Der leere String ("") wird als "kein Name" interpretiert.
Returns:
true, falls der Name geändert werden konnte; false wenn die Operation nicht durchgeführt werden konnte.
See Also:
DafSystemObjectType.isNameOfObjectsPermanent()

getConfigurationData

public Data[] getConfigurationData(Collection<SystemObject> objects,
                                   AttributeGroup atg)
Description copied from interface: DataModel
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.

Specified by:
getConfigurationData in interface DataModel
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.

updateName

public void updateName(long objectId,
                       long typeId,
                       String newName)
Description copied from interface: UpdateDynamicObjects
Diese Methode wird aufgerufen, wenn die Konfiguration eine Namensänderung eines dynamischen Objekts propagiert hat.

Auf Meta-Seite muss dann der Name des Objekts aktualisiert werden. Des Weiteren muss dem Typ des Objekts die Namensänderung mitgeteilt werden. Dies ist nötig, weil am Typ des Objekts Listener für Namensänderungen vorhanden sind.

Beim setzen des Namens darf nicht die SystemObject.setName(String) Methode benutzt werden, weil dadurch erneut eine Anfrage an die Konfiguration verschickt werden würde.

Der beschriebene Mechanismus muss nur durchgeführt werden wenn: Sich das Objekt im Cache des Meta-Datamodells befindet oder ein Listener auf Namensänderungen für den Typ des Objekt angemeldet ist.

Sind beide Bedingungen nicht erfüllt kann die Namensänderung verworfen werden.

Specified by:
updateName in interface UpdateDynamicObjects
Parameters:
objectId - Id des Objekts, dessen Name aktualisiert werden soll
typeId - Typ des Objekts, der informiert wird, dass sich der Name eines Objekts geändert hat
newName - Neuer Name des Objekts

updateNotValidSince

public void updateNotValidSince(long objectId,
                                long typeId,
                                long invalidTime)
Description copied from interface: UpdateDynamicObjects
Diese Methode wird aufgerufen, wenn die Konfiguration propagiert, dass ein dynamisches Objekt ungültig wurde.

Die Methode muss beim dynamischen Objekt den Zeitpunkt aktualisieren, an dem es ungültig wurde und der Methodenaufruf von SystemObject.isValid() muss false zurück geben. Der Typ des Objekts muss ebenfalls informatiert werden, dass das Objekt nicht mehr gültig ist. Dies ist nötig, weil eventuell Listener auf diese Änderungen angemeldet sind.

Der beschriebene Mechanismus muss nur durchgeführt werden wenn: Sich das Objekt im Cache des Meta-Datamodells befindet oder ein Listener auf Invalidation für den Typ des Objekt angemeldet ist.

Sind beide Bedingungen nicht erfüllt kann die Änderung verworfen werden.

Specified by:
updateNotValidSince in interface UpdateDynamicObjects
Parameters:
objectId - Id des Objekts, dessen UngültigAb-Wert aktualisiert werden soll
typeId - Typ des Objekts, der informiert wird, dass das Objekt ungültig geworden ist
invalidTime - Zeitpunkt, an dem das Objekt ungültig wurde

newDynamicObjectCreated

public void newDynamicObjectCreated(long objectId,
                                    long typeId)
Description copied from interface: UpdateDynamicObjects
Diese Methode wird aufgerufen, wenn die Konfiguration propagiert, dass ein neues dynamisches Objekt erzeugt wurde.

Diese Information muss an den jeweiligen Typen des Objekt weitergereicht werden. Dies ist nötig, weil vielleicht Listener auf diese Information angemeldet sind. Ist dies der Fall, so muss das vollständige Objekt aus der Konfiguration angefordert werden.

Specified by:
newDynamicObjectCreated in interface UpdateDynamicObjects
Parameters:
objectId - Objekt, das neu angelegt wurde
typeId - Typ des neuen Objekts. Dieser Typ wird darüber informiert, dass ein neues Objekt angelegt wurde.

getObjectFromCache

DafSystemObject getObjectFromCache(long objectId)
Gibt das SystemObjekt mit der angegebenen Objekt-Id aus dem Cache zurück. Befindet sich das Objekt nicht im Cache wird null zurückgegeben.

Parameters:
objectId - Id des Objekts
Returns:
SystemObjekt aus dem Cache oder null, falls es sich nicht im Cache befindet.

getConfigurationData

public Data[] getConfigurationData(Collection<SystemObject> objects,
                                   AttributeGroupUsage usage)
Liefert die konfigurierenden Datensätze einer Attributgruppenverwendung 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 Systemobjekten der gewünschten konfigurierenden Datensätze.
usage - Attributgruppenverwendung der gewünschten Datensätze.
Returns:
Array mit den gewünschten konfigurierenden Datensätzen. Im Array enthält für jedes Element des Parameters objects einen korrespondierender konfigurierender Datensatz oder null, wenn das Objekt keinen Datensatz der angegebenen Attributgruppenverwendung Kombination hat.

getConfigurationData

public Data[] getConfigurationData(Collection<SystemObject> objects,
                                   AttributeGroup atg,
                                   Aspect asp)
Description copied from interface: DataModel
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.

Specified by:
getConfigurationData in interface DataModel
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

public Data[] getConfigurationData(SystemObject[] objects,
                                   AttributeGroup atg)
Description copied from interface: DataModel
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.

Specified by:
getConfigurationData in interface DataModel
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

public Data[] getConfigurationData(SystemObject[] objects,
                                   AttributeGroup atg,
                                   Aspect aspect)
Description copied from interface: DataModel
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.

Specified by:
getConfigurationData in interface DataModel
Parameters:
objects - Array mit den Systemobjekten der gewünschten konfigurierenden Datensätze.
atg - Attributgruppe der gewünschten Datensätze.
aspect - 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

public Data[] getConfigurationData(SystemObject[] objects,
                                   AttributeGroupUsage usage)
Liefert die konfigurierenden Datensätze einer Attributgruppenverwendung 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.
usage - Attributgruppenverwendung der gewünschten Datensätze.
Returns:
Array mit den gewünschten konfigurierenden Datensätzen. Im Array enthält für jedes Element des Parameters objects einen korrespondierender konfigurierender Datensatz oder null, wenn das Objekt keinen Datensatz der angegebenen Attributgruppenverwendung Kombination hat.

getActiveVersion

public short getActiveVersion(ConfigurationArea configurationArea)
Description copied from interface: DataModel
Gibt die aktive Version des angegebenen Konfigurationsbereichs zurück.

Specified by:
getActiveVersion in interface DataModel
Parameters:
configurationArea - der Konfigurationsbereich
Returns:
Versionsnummer des Konfigurationsbereichs

getConfigurationData

Data getConfigurationData(SystemObject object,
                          AttributeGroup atg)
Liefert einen konfigurierenden Datensatz eines Objekts zurück. Als Aspekt des gewünschten Datensatzes wird "asp.eigenschaften" angenommen.

Parameters:
object - SystemObject des gewünschten Datensatzes.
atg - Attributgruppe des gewünschten Datensatzes.
Returns:
Konfigurierender Datensatz der angegebenen Attributgruppe oder null, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe hat.

getConfigurationData

Data getConfigurationData(SystemObject object,
                          AttributeGroupUsage atgUsage)
Liefert einen konfigurierenden Datensatz eines Objekts zurück.

Parameters:
object - SystemObject des gewünschten Datensatzes.
atgUsage - Attributgruppenverwendung des gewünschten Datensatzes.
Returns:
Konfigurierender Datensatz der angegebenen Attributgruppenverwendung oder null, wenn das Objekt keinen Datensatz der angegebenen Attributgruppenverwendung hat.

getConfigurationAuthorityId

public final long getConfigurationAuthorityId()
Gibt die Objekt-Id des Konfigurationsverantwortlichen zurück.

Returns:
Die Objekt-Id des Konfigurationsverantwortlichen

addSet

final void addSet(DafConfigurationObject configurationObject,
                  ObjectSet set)
           throws ConfigurationChangeException
Ordnet dem Konfigurationsobjekt eine weitere Menge zu. Die Zuordnung wird erst mit der nächsten Konfigurationsversion gültig.

Parameters:
configurationObject - Objekt, dem eine neue Menge zugeordnet werden soll.
set - Menge, die dem Konfigurationsobjekt zugeordnet werden soll.
Throws:
ConfigurationChangeException - Die Konfiguration führt den Auftrag nicht aus. Ein Grund wäre zum Beispiel, dass die Konfiguration nicht der Konfigurationsverantwortliche für dieses Objekt ist.

removeSet

final void removeSet(DafConfigurationObject configurationObject,
                     ObjectSet set)
              throws ConfigurationChangeException
Entfernt die Zuordnung von diesem Konfigurationsobjekt zu einer Menge. Die Änderung wird erst mit der nächsten Konfigurationsversion gültig.

Parameters:
configurationObject - Objekt, von dem eine Menge entfernt werden soll
set - Menge, die entfernt werden soll.
Throws:
ConfigurationChangeException - Die Konfiguration führt den Auftrag nicht aus. Ein Grund wäre zum Beispiel, dass die Konfiguration nicht der Konfigurationsverantwortliche für dieses Objekt ist.

getElementsOfType

final List<SystemObject> getElementsOfType(DafSystemObjectType type,
                                           long time)
Bestimmt die zu einem vorgegebenen Zeitpunkt zur Zusammenstellung gehörenden Elemente.

Parameters:
type - Type, der geprüft werden soll
time - Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.
Returns:
Liste mit den während des gesamten Zeitbereichs zur Zusammenstellung gehörenden System-Objekten.

getElementsOfTypeInPeriod

final List<SystemObject> getElementsOfTypeInPeriod(DafSystemObjectType type,
                                                   long startTime,
                                                   long endTime)
Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Zusammenstellung gehört haben.

Parameters:
type - die Id des Typs.
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.

getElementsOfTypeDuringPeriod

final List<SystemObject> getElementsOfTypeDuringPeriod(DafSystemObjectType type,
                                                       long startTime,
                                                       long endTime)
Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Zusammenstellung gehört haben.

Parameters:
type - die Id des Typs.
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.

castInterfaceToClass

private List<SystemObject> castInterfaceToClass(Collection<SystemObject> systemObjects)
Diese Methode castet eine Collection, die Objekte enthält, die ein Interface implementieren, auf die konkrete Klasse.

Parameters:
systemObjects - Collection, deren Elemente gecastet werden müssen
Returns:
Liste mit gecasteten Objekten

getSetElements

final List getSetElements(DafObjectSet set,
                          long time)
Bestimmt die zu einem vorgegebenen Zeitpunkt zur Mengenzusammenstellung gehörenden Elemente.

Parameters:
set - Menge, aus der die Objekte angefordert werden sollen
time - Zeitpunkt in Millisekunden seit 1970
Returns:
Liste mit den zum angegebenen Zeitpunkt zur Mengenzusammenstellung gehörenden System-Objekten.

getSetElementsInPeriod

final List getSetElementsInPeriod(DafObjectSet set,
                                  long startTime,
                                  long endTime)
Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Mengenzusammenstellung gehört haben.

Parameters:
set - Menge, aus der die Objekte angefordert werden sollen
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 Mengenzusammenstellung gehörenden System-Objekten.

getSetElementsDuringPeriod

final List getSetElementsDuringPeriod(DafObjectSet set,
                                      long startTime,
                                      long endTime)
Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Mengenzusammenstellung gehört haben.

Parameters:
set - Menge, aus der die Objekte angefordert werden sollen
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 Mengenzusammenstellung gehörenden System-Objekten.

getSetElementsInNextVersion

final List getSetElementsInNextVersion(DafObjectSet set)
Bestimmt die nach Aktivierung der nächsten Konfigurationsversion zur Mengenzusammenstellung gehörenden Elemente.

Parameters:
set - Menge, aus der die Objekte angefordert werden sollen
Returns:
Liste mit den in der nächsten Konfigurationsversion zur Zusammenstellung gehörenden System-Objekten.

getSetElementsInVersion

final List getSetElementsInVersion(DafObjectSet set,
                                   short version)
Bestimmt die in einer bestimmten Konfigurationsversion zur Mengenzusammenstellung gehörenden Elemente.

Parameters:
set - Menge, in der die Objekte betrachtet werden sollen
version - Version der Konfiguration
Returns:
Liste mit den in der angegebenen Version zur Zusammenstellung gehörenden System-Objekten.

getSetElementsInAllVersions

final List getSetElementsInAllVersions(DafObjectSet set,
                                       short fromVersion,
                                       short toVersion)
Bestimmt die Elemente, die in allen Konfigurationsversionen eines vorgegebenen Versionsbereichs zur Mengenzusammenstellung gehört haben.

Parameters:
set - Menge, die die Elemente enthält, die betrachtet werden sollen.
fromVersion - Erste Version des Bereichs von Konfigurationversionen
toVersion - Letzte Version des Bereichs von Konfigurationversionen
Returns:
Liste mit den in allen Version des Bereichs zur Mengenzusammenstellung gehörenden System-Objekten.

getSetElementsInAnyVersions

final List getSetElementsInAnyVersions(DafObjectSet set,
                                       short fromVersion,
                                       short toVersion)
Bestimmt die Elemente, die in mindestens einer Konfigurationsversion eines vorgegebenen Versionsbereichs zur Mengenzusammenstellung gehört haben.

Parameters:
set - Menge, aus der die Objekte angefordert werden sollen
fromVersion - Erste Version des Bereichs von Konfigurationversionen
toVersion - Letzte Version des Bereichs von Konfigurationversionen
Returns:
Liste mit den in mindestens einer Version des Bereichs zur Zusammenstellung gehörenden System-Objekten.

setConfigurationData

void setConfigurationData(SystemObject systemObject,
                          AttributeGroupUsage atgUsage,
                          Data data)
                    throws ConfigurationChangeException
Ändert einen konfigurierenden Datensatz eines Objekts.

Parameters:
systemObject - Systemobjekt an dem der Datensatz geändert werden soll.
atgUsage - Attributgruppenverwendung des zu ändernden Datensatzes
data - Der neue Datensatz. Wird null angegeben, wird der Datensatz am Objekt gelöscht.
Throws:
ConfigurationChangeException - Wenn der Datensatz nicht geändert werden konnte.

getAttributeGroupUsage

public AttributeGroupUsage getAttributeGroupUsage(long usageIdentification)
Description copied from interface: DataModel
Bestimmt die Attributgruppenverwendung mit der angegebenen Datenverteiler-Identifizierung.

Specified by:
getAttributeGroupUsage in interface DataModel
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.