Class Sender

  • All Implemented Interfaces:
    de.bsvrz.dav.daf.main.ClientSenderInterface

    public class Sender
    extends java.lang.Object
    implements de.bsvrz.dav.daf.main.ClientSenderInterface
    Vereinfacht das Senden von Daten über den Datenverteiler. Im Gegensatz zu SimpleSender ist diese Klasse zum Versand von Massendaten gedacht.
    See Also:
    SubscriptionManager
    • Field Summary

      • Fields inherited from interface de.bsvrz.dav.daf.main.ClientSenderInterface

        START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected Sender​(de.bsvrz.dav.daf.main.ClientDavInterface dav, de.bsvrz.dav.daf.main.config.SystemObject receiver, de.bsvrz.dav.daf.main.DataDescription dataDescription)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void dataRequest​(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription, byte state)  
      de.bsvrz.dav.daf.main.DataDescription getDataDescription()  
      de.bsvrz.dav.daf.main.ClientDavInterface getDav()  
      byte getLastState()  
      de.bsvrz.dav.daf.main.config.SystemObject getReceiver()  
      boolean isRequestSupported​(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription)  
      boolean send​(de.bsvrz.dav.daf.main.Data data)
      Sendet die spezifizierten Daten als "online aktuell" mit der aktuellen Systemzeit.
      boolean send​(de.bsvrz.dav.daf.main.Data data, boolean delayed)
      Sendet die spezifizierten Daten mit der aktuellen Systemzeit.
      boolean send​(de.bsvrz.dav.daf.main.Data data, long dataTime, boolean delayed)
      Sendet die spezifizierten Daten.
      boolean sendIfPosSendCtrl​(de.bsvrz.dav.daf.main.Data data)
      Sendet die spezifizierten Daten als "online aktuell" mit der aktuellen Systemzeit.
      void sendIfPosSendCtrl​(de.bsvrz.dav.daf.main.Data data, boolean delayed)
      Sendet die spezifizierten Daten mit der aktuellen Systemzeit.
      void sendIfPosSendCtrl​(de.bsvrz.dav.daf.main.Data data, long dataTime, boolean delayed)
      Sendet die spezifizierten Daten mit der aktuellen Systemzeit.
      void sendIgnoreSendControl​(de.bsvrz.dav.daf.main.Data data, long dataTime, boolean delayed)
      Sendet Daten ohne auf die Sendesteuerung zu achten.
      static Sender subscribe​(de.bsvrz.dav.daf.main.ClientDavInterface dav, de.bsvrz.dav.daf.main.config.SystemObject receiver, java.lang.String attributeGroup, java.lang.String aspect, de.bsvrz.dav.daf.main.SenderRole srole)
      Erzeugt einen Sender.
      static Sender subscribeSender​(de.bsvrz.dav.daf.main.ClientDavInterface dav, de.bsvrz.dav.daf.main.config.SystemObject sysObj, java.lang.String attributeGroup, java.lang.String aspect)
      Erzeugt einen einfachen Sender.
      static Sender subscribeSender​(de.bsvrz.dav.daf.main.ClientDavInterface dav, java.lang.String sysObj, java.lang.String attributeGroup, java.lang.String aspect)
      Erzeugt einen einfachen Sender.
      static Sender subscribeSource​(de.bsvrz.dav.daf.main.ClientDavInterface dav, java.lang.String sysObj, java.lang.String attributeGroup, java.lang.String aspect)
      Erzeugt eine Quelle.
      boolean unsubscribe()
      Meldet den Versand von Daten ab.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Sender

        protected Sender​(de.bsvrz.dav.daf.main.ClientDavInterface dav,
                         de.bsvrz.dav.daf.main.config.SystemObject receiver,
                         de.bsvrz.dav.daf.main.DataDescription dataDescription)
    • Method Detail

      • subscribe

        public static Sender subscribe​(de.bsvrz.dav.daf.main.ClientDavInterface dav,
                                       de.bsvrz.dav.daf.main.config.SystemObject receiver,
                                       java.lang.String attributeGroup,
                                       java.lang.String aspect,
                                       de.bsvrz.dav.daf.main.SenderRole srole)
                                throws FailureException
        Erzeugt einen Sender.
        Parameters:
        dav - Verbindung zum Datenverteiler.
        receiver - Empfänger.
        attributeGroup - Attributgruppe.
        aspect - Aspekt.
        srole - Quelle oder 'einfahcer' Sender.
        Returns:
        Sender zum Versand von Daten
        Throws:
        FailureException - Fehler bei der Kommunikation mit der Konfiguration. Oder: Es existiert bereits eine Sendeanmeldung.
      • subscribeSender

        public static Sender subscribeSender​(de.bsvrz.dav.daf.main.ClientDavInterface dav,
                                             de.bsvrz.dav.daf.main.config.SystemObject sysObj,
                                             java.lang.String attributeGroup,
                                             java.lang.String aspect)
                                      throws FailureException
        Erzeugt einen einfachen Sender.
        Parameters:
        dav - Verbindung zum Datenverteiler.
        sysObj - Empfänger.
        attributeGroup - Attributgruppe-PID
        aspect - Aspekt-PID
        Returns:
        Sender zum Versand von Daten
        Throws:
        FailureException - Fehler bei der Kommunikation mit der Konfiguration. Oder: Es existiert bereits eine Sendeanmeldung.
      • subscribeSender

        public static Sender subscribeSender​(de.bsvrz.dav.daf.main.ClientDavInterface dav,
                                             java.lang.String sysObj,
                                             java.lang.String attributeGroup,
                                             java.lang.String aspect)
                                      throws FailureException
        Erzeugt einen einfachen Sender.
        Parameters:
        dav - Verbindung zum Datenverteiler.
        sysObj - Pid des Objekts, für das die Anmeldung gilt
        attributeGroup - Attributgruppe-PID
        aspect - Aspekt-PID
        Returns:
        Sender zum Versand von Daten
        Throws:
        FailureException - Fehler bei der Kommunikation mit der Konfiguration. Oder: Es existiert bereits eine Sendeanmeldung.
      • subscribeSource

        public static Sender subscribeSource​(de.bsvrz.dav.daf.main.ClientDavInterface dav,
                                             java.lang.String sysObj,
                                             java.lang.String attributeGroup,
                                             java.lang.String aspect)
                                      throws FailureException
        Erzeugt eine Quelle.
        Parameters:
        dav - Verbindung zum Datenverteiler.
        sysObj - Objekt für das die Anmeldung gilt.
        attributeGroup - Attributgruppe-PID
        aspect - Aspekt-PID
        Returns:
        Sender zum Versand von Daten
        Throws:
        FailureException - Fehler bei der Kommunikation mit der Konfiguration. Oder: Es existiert bereits eine Sendeanmeldung.
      • unsubscribe

        public boolean unsubscribe()
        Meldet den Versand von Daten ab.
        Returns:
        false falls die Abmeldung nicht durchgeführt werden konnte.
      • send

        public boolean send​(de.bsvrz.dav.daf.main.Data data)
                     throws FailureException
        Sendet die spezifizierten Daten als "online aktuell" mit der aktuellen Systemzeit. Blockiert bis erstmalig eine Sendesteuerung empfangen wurde. Dies muss nicht notwendigerweise eine positive Sendesteuerung sein.
        Parameters:
        data - Zu sendende Daten.
        Returns:
        true falls die Daten gesendet wurden, false falls der Versand von der Sendesteuerung gestoppt wurde.
        Throws:
        FailureException
      • send

        public boolean send​(de.bsvrz.dav.daf.main.Data data,
                            boolean delayed)
                     throws FailureException
        Sendet die spezifizierten Daten mit der aktuellen Systemzeit. Blockiert bis erstmalig eine Sendesteuerung empfangen wurde. Dies muss nicht notwendigerweise eine positive Sendesteuerung sein.
        Parameters:
        data - Zu sendende Daten.
        delayed - falls wahr, werden Daten als nachgeliefert gekennzeichnet
        Returns:
        true falls die Daten gesendet wurden, false falls der Versand von der Sendesteuerung gestoppt wurde.
        Throws:
        FailureException
      • send

        public boolean send​(de.bsvrz.dav.daf.main.Data data,
                            long dataTime,
                            boolean delayed)
                     throws FailureException
        Sendet die spezifizierten Daten. Blockiert bis erstmalig eine Sendesteuerung empfangen wurde.
        Parameters:
        data - Zu sendende Daten.
        dataTime - Datenzeitstempel des zu sendenden Datensatzes
        delayed - falls wahr, werden Daten als nachgeliefert gekennzeichnet
        Returns:
        true falls die Daten gesendet wurden, false falls der Versand von der Sendesteuerung gestoppt wurde.
        Throws:
        FailureException
      • sendIfPosSendCtrl

        public boolean sendIfPosSendCtrl​(de.bsvrz.dav.daf.main.Data data)
                                  throws FailureException
        Sendet die spezifizierten Daten als "online aktuell" mit der aktuellen Systemzeit. Blockiert bis erstmalig eine Sendesteuerung empfangen wurde. Falls die aktuelle Sendesteuerung negativ ist, blockiert die Methode bis zur naechsten positiven Sendesteuerung.
        Parameters:
        data - Zu sendende Daten.
        Throws:
        FailureException
      • sendIfPosSendCtrl

        public void sendIfPosSendCtrl​(de.bsvrz.dav.daf.main.Data data,
                                      boolean delayed)
                               throws FailureException
        Sendet die spezifizierten Daten mit der aktuellen Systemzeit. Blockiert bis erstmalig eine Sendesteuerung empfangen wurde. Falls die aktuelle Sendesteuerung negativ ist, blockiert die Methode bis zur naechsten positiven Sendesteuerung.
        Parameters:
        data - Zu sendende Daten.
        delayed - falls wahr, werden Daten als nachgeliefert gekennzeichnet
        Throws:
        FailureException
      • sendIfPosSendCtrl

        public void sendIfPosSendCtrl​(de.bsvrz.dav.daf.main.Data data,
                                      long dataTime,
                                      boolean delayed)
                               throws FailureException
        Sendet die spezifizierten Daten mit der aktuellen Systemzeit. Blockiert bis erstmalig eine Sendesteuerung empfangen wurde. Falls die aktuelle Sendesteuerung negativ ist, blockiert die Methode bis zur naechsten positiven Sendesteuerung.
        Parameters:
        data - Zu sendende Daten.
        dataTime - Datenzeitstempel des zu sendenden Datensatzes
        delayed - falls wahr, werden Daten als nachgeliefert gekennzeichnet
        Throws:
        FailureException
      • sendIgnoreSendControl

        public void sendIgnoreSendControl​(de.bsvrz.dav.daf.main.Data data,
                                          long dataTime,
                                          boolean delayed)
                                   throws FailureException
        Sendet Daten ohne auf die Sendesteuerung zu achten. Je nachdem die Daten als Quelle oder Sender angemeldet wurden, kann dies eine Exception verursachen.
        Parameters:
        data - Zu sendende Daten.
        dataTime - Datenzeitstempel des zu sendenden Datensatzes
        delayed - wahr, falls Daten als nachgeliefert gekennzeichnet werden sollen
        Throws:
        FailureException
      • dataRequest

        public void dataRequest​(de.bsvrz.dav.daf.main.config.SystemObject object,
                                de.bsvrz.dav.daf.main.DataDescription dataDescription,
                                byte state)
        Specified by:
        dataRequest in interface de.bsvrz.dav.daf.main.ClientSenderInterface
      • getLastState

        public byte getLastState()
        Returns:
        Liefert den zuletzt eingegangenen Status der Sendesteuerung.
      • isRequestSupported

        public boolean isRequestSupported​(de.bsvrz.dav.daf.main.config.SystemObject object,
                                          de.bsvrz.dav.daf.main.DataDescription dataDescription)
        Specified by:
        isRequestSupported in interface de.bsvrz.dav.daf.main.ClientSenderInterface
      • getDav

        public de.bsvrz.dav.daf.main.ClientDavInterface getDav()
        Returns:
        Returns the dav.
      • getReceiver

        public de.bsvrz.dav.daf.main.config.SystemObject getReceiver()
        Returns:
        Returns the receiver.
      • getDataDescription

        public de.bsvrz.dav.daf.main.DataDescription getDataDescription()
        Returns:
        Returns dataDescription.