java.lang.Object
de.bsvrz.sys.funclib.losb.kernsoftware.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

    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 Details

    • 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 Details

    • 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.