class OnlineDataReceiverObject extends java.lang.Object implements ClientReceiverInterface
Modifier and Type | Field and Description |
---|---|
private static Debug |
_debug
Debug Ausgabe
|
private NewDataCollector |
_newDataCollector
Objekt das benachrichtigt wird, wenn neue Daten vorliegen.
|
private Qualifier |
_qualifier
DI auf die sich der Receiver anmeldet.
|
private OnlineDataReceiverSet |
_receiverSet
Empfängergruppe, zu der dieser Empfänger gehört.
|
private java.util.Hashtable<java.lang.Object,java.lang.Integer> |
_subscribers
Registriertes Objekt -> Index.
|
private int |
_takeCalls
Zählt die Aufrufe von
take(long,Object) . |
private java.util.ArrayList<ResultData> |
incoming
Eingehende Daten
|
int |
receivedData |
int |
receivedTotal |
private static int |
RESIZE_INCOMING
Legt fest wann die bereits aus dem Eingangspuffer gelesenen Daten gelöscht werden können.
|
Constructor and Description |
---|
OnlineDataReceiverObject(OnlineDataReceiverSet receiverSet,
Qualifier qualifier,
NewDataCollector newDataCollector) |
Modifier and Type | Method and Description |
---|---|
boolean |
dataAvailable()
Zeigt an ob gerade Daten vorliegen.
|
OnlineDataReceiver |
registerNewSubscriber()
Registriert eine weitere Anmeldung auf die angemeldeten Daten.
|
protected void |
storeData(ResultData result)
Speichert den eingegangenen Datensatz.
|
void |
subscribe(ReceiveOptions receiverOptions)
Meldet dieses Objekt als Empfänger für die gegebenen Daten beim DAV an.
|
ExtResultData |
take(long timeout,
java.lang.Object subscriber)
Liefert einen Datensatz.
|
void |
unsubscribe(java.lang.Object object)
Meldet den Empfang von Daten ab.
|
void |
update(ResultData[] results)
Empfängt die Daten vom Datenverteiler.
|
private static final Debug _debug
private static final int RESIZE_INCOMING
private final Qualifier _qualifier
private final java.util.Hashtable<java.lang.Object,java.lang.Integer> _subscribers
private final java.util.ArrayList<ResultData> incoming
private int _takeCalls
take(long,Object)
.private final OnlineDataReceiverSet _receiverSet
private final NewDataCollector _newDataCollector
public int receivedTotal
public int receivedData
public OnlineDataReceiverObject(OnlineDataReceiverSet receiverSet, Qualifier qualifier, NewDataCollector newDataCollector)
qualifier
- Datenidentifikation auf die sich der Receiver anmelden soll.receiverSet
- Empfängergruppe, zu der dieser Empfänger gehört.newDataCollector
- Objekt das benachrichtigt wird, wenn neue Daten vorliegen.public boolean dataAvailable()
true
falls aktuell Daten für diesen Empfänger vorliegen. false
falls bereits alle Daten von allen Empfängern abgeholt
wurden.public void subscribe(ReceiveOptions receiverOptions) throws FailureException
receiverOptions
- Anmeldeparameter. Normal oder Delta-daten, nachgelieferte Daten.FailureException
- Falls es bei der Kommunikation mit der Konfiguration zu einem Fehler kommt.public void update(ResultData[] results)
update
in interface ClientReceiverInterface
results
- Feld mit den empfangenen Ergebnisdatensätzen.ClientReceiverInterface.update(ResultData[])
protected void storeData(ResultData result)
result
- Eingegangener Datensatzpublic ExtResultData take(long timeout, java.lang.Object subscriber) throws java.lang.InterruptedException
subscriber
- Objekt für das die Daten bestimmt sind. Darf nicht null
sein.timeout
- Maximale Wartezeit. Wird die Wartezeit überschritten, so wird die Methode abgebrochen und false
zurückgegeben. Ist dieser
Parameter 0
so wird solange gewartet, bis Daten eintreffen.null
falls subscriber
kein angemeldeter Empfänger.java.lang.InterruptedException
- Warten auf Antwortdatensatz wurde unterbrochen.public void unsubscribe(java.lang.Object object)
object
- Empfänger der abgemeldet werden soll.public OnlineDataReceiver registerNewSubscriber()