Class KExDaVObject


  • public class KExDaVObject
    extends java.lang.Object
    Kapselt ein Systemobjekt auf einem Datenverteiler. Bietet allgemeine Funktionen wie Prüfung auf Existenz und das Senden und Empfangen von Daten. Im Gegensatz zu normalen Systemobjekten kann man sich mit dieser Klasse auch als Sender/Empfänger anmelden, wenn das zugehörige Objekt nicht auf dem Datenverteiler existiert. Die wirkliche Anmeldung wird dann nachgetragen, sobald das Objekt erstellt wird.
    • Constructor Summary

      Constructors 
      Constructor Description
      KExDaVObject​(ObjectSpecification objectSpecification, de.bsvrz.dav.daf.main.ClientDavInterface connection, ManagerInterface manager)
      Erstellt ein neues KExDavObject
      KExDaVObject​(java.lang.String pid, de.bsvrz.dav.daf.main.ClientDavInterface connection, ManagerInterface manager)
      Erstellt ein neues KExDavObject
    • Method Summary

      Modifier and Type Method Description
      void addExistenceListener​(ExistenceListener e)
      Erstellt einen Listener auf die Erstellung dieses Objekts
      void create​(de.bsvrz.dav.daf.main.config.ConfigurationArea configurationArea, java.lang.String pid, java.lang.String typePid, java.lang.String objectName, java.util.Map<PidAttributeGroupUsage,​de.bsvrz.dav.daf.main.Data> allConfigurationData, long origId, java.lang.String origConfigAuthority)
      Erstellt dieses Objekt
      boolean equals​(java.lang.Object o)  
      boolean exists()
      Prüft ob das Objekt existiert
      java.util.Map<PidAttributeGroupUsage,​KExDaVAttributeGroupData> getAllConfigurationData()
      Liest alle Konfigurationsdaten dieses Objekts
      java.lang.String getConfigurationAuthority()  
      de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
      Gibt die Datenverteiler-Verbindung zurück, zu der dieses Objekt gehört
      ExchangeProperties getExchangeProperties()
      Gibt die konfigurierte Auttributgruppe für ausgetausche Objekte zurück
      static ExchangeProperties getExchangeProperties​(de.bsvrz.dav.daf.main.config.SystemObject wrappedObject)
      Gibt die konfigurierte Auttributgruppe für ausgetausche Objekte zurück
      long getId()  
      java.lang.String getName()
      Gibt den Namen dieses Objekts zurück
      ObjectSpecification getObjectSpecification()
      Gibt die Spezifikation dieses Objekts zurück
      java.lang.String getPid()  
      java.lang.String getType()
      Gibt den Typ dieses Objekts zurück
      de.bsvrz.dav.daf.main.config.SystemObject getWrappedObject()
      Gibt das SystemObject zurück
      int hashCode()  
      boolean invalidate​(boolean force)
      Löscht dieses Objekt
      boolean isConfigurationObject()
      Prüft, ob das Objekt ein Konfigurationsobjekt ist
      boolean isCopy()
      Gibt true zurück, wenn das Objekt mit diesem KExDaV von einem anderen Datenverteilersystem kopiert wurde, d.h. wenn es also "im Besitz" dieses KExDaVs ist und damit z.B. auch gelöscht werden darf.
      boolean registerReceiver​(java.lang.String atg, java.lang.String asp, short simulationVariant, de.bsvrz.dav.daf.main.ReceiverRole receiverRole, de.bsvrz.dav.daf.main.ReceiveOptions receiveOptions, KExDaVReceiver receiver)
      Anmeldung als Empfänger/Senke
      boolean registerSender​(java.lang.String atg, java.lang.String asp, short simulationVariant, de.bsvrz.dav.daf.main.SenderRole senderRole, KExDaVSender senderObject)
      Anmeldung als Sender oder Quelle
      void removeExistenceListener​(ExistenceListener e)
      Entfernt einen Listener auf die Löschung dieses Objekts
      void sendData​(KExDaVSender senderObject, de.bsvrz.dav.daf.main.Data data, long dataTime, boolean delayed)
      Sendet Daten an das Objekt
      void setConfigurationData​(java.util.Map<PidAttributeGroupUsage,​de.bsvrz.dav.daf.main.Data> configurationData)
      Setzt Konfigurationsdaten
      java.lang.String toString()  
      void unsubscribeReceiver​(KExDaVReceiver receiverObject)
      Meldet einen Empfänger ab
      void unsubscribeSender​(KExDaVSender senderObject)
      Meldet einen Sender ab
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • KExDaVObject

        public KExDaVObject​(java.lang.String pid,
                            de.bsvrz.dav.daf.main.ClientDavInterface connection,
                            ManagerInterface manager)
        Erstellt ein neues KExDavObject
        Parameters:
        pid - Objekt-Pid
        connection - Datenverteiler-Verbindung
        manager - KExDaV-Manager-Objekt, an das Benachrichtigungen gesendet werden können
      • KExDaVObject

        public KExDaVObject​(ObjectSpecification objectSpecification,
                            de.bsvrz.dav.daf.main.ClientDavInterface connection,
                            ManagerInterface manager)
        Erstellt ein neues KExDavObject
        Parameters:
        objectSpecification - Objekt-Spezifikation
        connection - Datenverteiler-Verbindung
        manager - KExDaV-Manager-Objekt, an das Benachrichtigungen gesendet werden können
    • Method Detail

      • registerReceiver

        public boolean registerReceiver​(java.lang.String atg,
                                        java.lang.String asp,
                                        short simulationVariant,
                                        de.bsvrz.dav.daf.main.ReceiverRole receiverRole,
                                        de.bsvrz.dav.daf.main.ReceiveOptions receiveOptions,
                                        KExDaVReceiver receiver)
                                 throws MissingObjectException
        Anmeldung als Empfänger/Senke
        Parameters:
        atg - Attributgruppe
        asp - Aspekt
        simulationVariant - Simulationsvariante
        receiverRole - (Empfänger oder Senke)
        receiveOptions - (Delta oder Nachgeliefert oder Normal)
        receiver - Objekt an das Empfangene Daten gesendet werden. Jedes Objekt ist einer Datenidentifikation fest zugeordnet und kann nur einmal angemeldet werden.
        Returns:
        boolean
        Throws:
        MissingObjectException - Falls Attributgruppe oder Aspekt nicht vorhanden sind
      • registerSender

        public boolean registerSender​(java.lang.String atg,
                                      java.lang.String asp,
                                      short simulationVariant,
                                      de.bsvrz.dav.daf.main.SenderRole senderRole,
                                      KExDaVSender senderObject)
                               throws MissingObjectException
        Anmeldung als Sender oder Quelle
        Parameters:
        atg - Attributgruppe
        asp - Aspekt
        simulationVariant - Simulationsvariante
        senderRole - Sender oder Quelle
        senderObject - Beliebiges Objekt das zu diesem Sender gespeichert wird. Jedes Objekt ist einer Datenidentifikation fest zugeordnet und kann nur einmal angemeldet werden.
        Returns:
        true wenn das Objekt angemeldet wurde, sonst false.
        Throws:
        MissingObjectException - Falls Attributgruppe oder Aspekt nicht vorhanden sind
      • sendData

        public void sendData​(KExDaVSender senderObject,
                             de.bsvrz.dav.daf.main.Data data,
                             long dataTime,
                             boolean delayed)
        Sendet Daten an das Objekt
        Parameters:
        senderObject - Sender-Objekt
        data - Daten
        dataTime - Zeit des Datensatzes
        delayed - true, wenn der im Ergebnis enthaltene Datensatz als nachgeliefert gekennzeichnet werden soll.
      • unsubscribeSender

        public void unsubscribeSender​(KExDaVSender senderObject)
        Meldet einen Sender ab
        Parameters:
        senderObject - Sender-Objekt
      • unsubscribeReceiver

        public void unsubscribeReceiver​(KExDaVReceiver receiverObject)
        Meldet einen Empfänger ab
        Parameters:
        receiverObject - Empfänger-Objekt
      • getConnection

        public de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
        Gibt die Datenverteiler-Verbindung zurück, zu der dieses Objekt gehört
        Returns:
        Datenverteiler-Verbindung
      • getWrappedObject

        public de.bsvrz.dav.daf.main.config.SystemObject getWrappedObject()
        Gibt das SystemObject zurück
        Returns:
        SystemObject
      • addExistenceListener

        public void addExistenceListener​(ExistenceListener e)
        Erstellt einen Listener auf die Erstellung dieses Objekts
        Parameters:
        e - Callback
      • removeExistenceListener

        public void removeExistenceListener​(ExistenceListener e)
        Entfernt einen Listener auf die Löschung dieses Objekts
        Parameters:
        e - Callback
      • invalidate

        public boolean invalidate​(boolean force)
                           throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException,
                                  MissingKExDaVAttributeGroupException
        Löscht dieses Objekt
        Parameters:
        force - Soll das Objekt auch gelöscht werden, wenn es nicht von KExDaV kopiert wurde?
        Returns:
        true wenn das Objekt nicht mehr existiert, sonst false
        Throws:
        de.bsvrz.dav.daf.main.config.ConfigurationChangeException - Falls das Ändern der Konfiguration fehlschlägt (z.B. keine Berechtigung)
        MissingKExDaVAttributeGroupException - Exception
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • create

        public void create​(de.bsvrz.dav.daf.main.config.ConfigurationArea configurationArea,
                           java.lang.String pid,
                           java.lang.String typePid,
                           java.lang.String objectName,
                           java.util.Map<PidAttributeGroupUsage,​de.bsvrz.dav.daf.main.Data> allConfigurationData,
                           long origId,
                           java.lang.String origConfigAuthority)
                    throws MissingObjectException,
                           de.bsvrz.dav.daf.main.config.ConfigurationChangeException,
                           MissingKExDaVAttributeGroupException
        Erstellt dieses Objekt
        Parameters:
        configurationArea - Konfigurationsbereich
        pid - Pid
        typePid - Objekt-Typ-Pid
        objectName - Objekt-name falls vorhanden
        allConfigurationData - Konfigurationsdaten
        origId - Original-ID
        origConfigAuthority - Original-Configurationsverantwortlicher
        Throws:
        MissingObjectException - Falls der angegebene Typ nicht existiert oder nicht vom Typ DynamicObjectType ist.
        de.bsvrz.dav.daf.main.config.ConfigurationChangeException - Falls die Konfigurationsänderung nicht durchgeführt werden konnte
        MissingKExDaVAttributeGroupException - Bei nicht existierender Attributgruppe in der Konfiguration (altes Datenmodell)
      • getObjectSpecification

        public ObjectSpecification getObjectSpecification()
        Gibt die Spezifikation dieses Objekts zurück
        Returns:
        Objekt-Spezifikation
      • exists

        public boolean exists()
        Prüft ob das Objekt existiert
        Returns:
        True wenn es existiert
      • isConfigurationObject

        public boolean isConfigurationObject()
        Prüft, ob das Objekt ein Konfigurationsobjekt ist
        Returns:
        True wenn es ein Konfigurationsobjekt ist, false wenn es nicht existiert oder ein dynamisches Objekt ist.
      • isCopy

        public boolean isCopy()
                       throws MissingKExDaVAttributeGroupException
        Gibt true zurück, wenn das Objekt mit diesem KExDaV von einem anderen Datenverteilersystem kopiert wurde, d.h. wenn es also "im Besitz" dieses KExDaVs ist und damit z.B. auch gelöscht werden darf.
        Returns:
        true, wenn das Objekt mit diesem KExDaV von einem anderen Datenverteilersystem kopiert wurde, sonst false
        Throws:
        MissingKExDaVAttributeGroupException - Exception
      • getExchangeProperties

        public static ExchangeProperties getExchangeProperties​(de.bsvrz.dav.daf.main.config.SystemObject wrappedObject)
                                                        throws MissingKExDaVAttributeGroupException
        Gibt die konfigurierte Auttributgruppe für ausgetausche Objekte zurück
        Parameters:
        wrappedObject - Objekt, dessen Infos abgerufen werden sollen
        Returns:
        die konfigurierte Auttributgruppe für ausgetausche Objekte
        Throws:
        MissingKExDaVAttributeGroupException - Bei nicht existierender Attributgruppe in der Konfiguration (altes Datenmodell)
      • setConfigurationData

        public void setConfigurationData​(java.util.Map<PidAttributeGroupUsage,​de.bsvrz.dav.daf.main.Data> configurationData)
                                  throws MissingObjectException,
                                         de.bsvrz.dav.daf.main.config.ConfigurationChangeException
        Setzt Konfigurationsdaten
        Parameters:
        configurationData - Konfigurationsdaten
        Throws:
        MissingObjectException - Das Objekt existiert nicht
        de.bsvrz.dav.daf.main.config.ConfigurationChangeException - Die Konfiguration unterstützt die Änderung nicht