Class Sender
- 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 zuSimpleSender
ist diese Klasse zum Versand von Massendaten gedacht.- See Also:
SubscriptionManager
-
-
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.
-
-
-
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-PIDaspect
- 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 giltattributeGroup
- Attributgruppe-PIDaspect
- 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-PIDaspect
- 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 Datensatzesdelayed
- 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 Datensatzesdelayed
- 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 Datensatzesdelayed
- 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 interfacede.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 interfacede.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.
-
-