class CMSender extends java.lang.Object implements ClientSenderInterface
Modifier and Type | Field and Description |
---|---|
private DataIdentification |
di
Datenidentifikation für die das Objekt als Sender registriert wird.
|
static byte |
NOT_SET_YET
Sendesteuerung wurde noch nicht aufgerufen.
|
private java.util.List<ClientSenderInterface> |
senders
Liste mit angemeldeten Sendern.
|
private byte |
state
Letzter Wert der Sendesteuerung
|
START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
Constructor and Description |
---|
CMSender(DataIdentification di) |
Modifier and Type | Method and Description |
---|---|
boolean |
add(ClientSenderInterface sender) |
boolean |
contains(ClientSenderInterface sender) |
void |
dataRequest(SystemObject object,
DataDescription dataDescription,
byte state)
Sendesteuerung des Datenverteilers an die Applikation.
|
(package private) java.util.List<ClientSenderInterface> |
elements() |
byte |
getState() |
boolean |
isRequestSupported(SystemObject object,
DataDescription dataDescription)
Diese Methode muss von der Applikation implementiert werden, um zu signalisieren, ob Sendesteuerungen erwünscht sind und mit der Methode
dataRequest verarbeitet werden. |
boolean |
remove(ClientSenderInterface sender) |
int |
size() |
public static final byte NOT_SET_YET
Sendesteuerung wurde noch nicht aufgerufen.
private byte state
Letzter Wert der Sendesteuerung
private DataIdentification di
Datenidentifikation für die das Objekt als Sender registriert wird.
private final java.util.List<ClientSenderInterface> senders
Liste mit angemeldeten Sendern.
public CMSender(DataIdentification di)
di
- Datenidentifikation für die das Objekt als Sender registriert wird.public boolean remove(ClientSenderInterface sender)
sender
- SenderList.remove(java.lang.Object)
public int size()
public void dataRequest(SystemObject object, DataDescription dataDescription, byte state)
de.bsvrz.dav.daf.main.ClientSenderInterface
dataRequest
in interface ClientSenderInterface
object
- Das in der zugehörigen Sendeanmeldung angegebene Objekt, auf das sich die Sendesteuerung bezieht.dataDescription
- Beschreibende Informationen zu den angemeldeten Daten auf die sich die Sendesteuerung bezieht.state
- Status der Sendesteuerung. Kann einen der Werte START_SENDING
, STOP_SENDING
,
STOP_SENDING_NO_RIGHTS
, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
enthalten.ClientSenderInterface.dataRequest(SystemObject,DataDescription,byte)
public boolean add(ClientSenderInterface sender)
sender
- SenderList.add(java.lang.Object)
public boolean contains(ClientSenderInterface sender)
sender
- SenderList.contains(java.lang.Object)
java.util.List<ClientSenderInterface> elements()
public boolean isRequestSupported(SystemObject object, DataDescription dataDescription)
de.bsvrz.dav.daf.main.ClientSenderInterface
dataRequest
verarbeitet werden. In der Implementierung dieser Methode dürfen keine synchronen Aufrufe, die auf Telegramme vom Datenverteiler
warten (wie z.B. Konfigurationsanfragen) durchgeführt werden, da ansonsten ein Deadlock entsteht.isRequestSupported
in interface ClientSenderInterface
object
- Das in der zugehörigen Sendeanmeldung angegebene System-Objekt.dataDescription
- Die in der zugehörigen Sendeanmeldung angegebenen beschreibenden Informationen der angemeldeten Daten.true
, falls Sendesteuerungen gewünscht sind, sonst false
.ClientSenderInterface.isRequestSupported(SystemObject,DataDescription)
public byte getState()