de.bsvrz.sys.funclib.losb.kernsoftware
Class Sender

java.lang.Object
  extended by de.bsvrz.sys.funclib.losb.kernsoftware.Sender

public class Sender
extends java.lang.Object

Vereinfacht das Senden von Daten über den Datenverteiler. Im Gegensatz zu SimpleSender ist diese Klasse zum Versand von Massendaten gedacht.

Version:
$Revision: 1.2 $ / $Date: 2008/06/02 14:42:50 $ / ($Author: martinh $)
Author:
beck et al. projects GmbH, Martin Hilgers
See Also:
SubscriptionManager

Constructor Summary
protected Sender(ClientDavInterface dav, SystemObject receiver, DataDescription dataDescription)
           
 
Method Summary
 void dataRequest(SystemObject object, DataDescription dataDescription, byte state)
           
 DataDescription getDataDescription()
           
 ClientDavInterface getDav()
           
 byte getLastState()
           
 SystemObject getReceiver()
           
 boolean isRequestSupported(SystemObject object, DataDescription dataDescription)
           
 boolean send(Data data)
          Sendet die spezifizierten Daten als "online aktuell" mit der aktuellen Systemzeit.
 boolean send(Data data, boolean delayed)
          Sendet die spezifizierten Daten mit der aktuellen Systemzeit.
 boolean send(Data data, long dataTime, boolean delayed)
          Sendet die spezifizierten Daten.
 void sendIfPosSendCtrl(Data data)
          Sendet die spezifizierten Daten als "online aktuell" mit der aktuellen Systemzeit.
 void sendIfPosSendCtrl(Data data, boolean delayed)
          Sendet die spezifizierten Daten mit der aktuellen Systemzeit.
 void sendIfPosSendCtrl(Data data, long dataTime, boolean delayed)
          Sendet die spezifizierten Daten mit der aktuellen Systemzeit.
 void sendIgnoreSendControl(Data data, long dataTime, boolean delayed)
          Sendet Daten ohne auf die Sendesteuerung zu achten.
static Sender subscribe(ClientDavInterface dav, SystemObject receiver, java.lang.String attributeGroup, java.lang.String aspect, SenderRole srole)
          Erzeugt einen Sender.
static Sender subscribeSender(ClientDavInterface dav, SystemObject sysObj, java.lang.String attributeGroup, java.lang.String aspect)
          Erzeugt einen einfachen Sender.
static Sender subscribeSource(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(ClientDavInterface dav,
                 SystemObject receiver,
                 DataDescription dataDescription)
Method Detail

subscribe

public static Sender subscribe(ClientDavInterface dav,
                               SystemObject receiver,
                               java.lang.String attributeGroup,
                               java.lang.String aspect,
                               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(ClientDavInterface dav,
                                     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.

subscribeSource

public static Sender subscribeSource(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(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(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(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 void sendIfPosSendCtrl(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(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(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(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(SystemObject object,
                        DataDescription dataDescription,
                        byte state)
See Also:
ClientSenderInterface#dataRequest(SystemObject, DataDescription, byte)

getLastState

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

isRequestSupported

public boolean isRequestSupported(SystemObject object,
                                  DataDescription dataDescription)
See Also:
ClientSenderInterface#isRequestSupported(SystemObject, DataDescription)

getDav

public ClientDavInterface getDav()
Returns:
Returns the dav.

getReceiver

public SystemObject getReceiver()
Returns:
Returns the receiver.

getDataDescription

public DataDescription getDataDescription()
Returns:
Returns dataDescription.


Copyright © 2005-2008 beck et al. projects GmbH All Rights Reserved.