de.bsvrz.dav.daf.main.impl.subscription
Class CollectingReceiver

java.lang.Object
  extended by de.bsvrz.dav.daf.main.impl.subscription.CollectingReceiver

public class CollectingReceiver
extends Object

Speichert vom Datenverteiler empfangene Datensätze zur späteren Auslieferung an einen Receiver der Applikation.

Author:
Kappich Systemberatung

Field Summary
private  int _collectedSize
          Gesamtgröße der auszuliefernden Datensätze.
private  ClientReceiverInterface _receiver
          Receiver der Applikation, an den die gespeicherten Datensätze ausgeliefert werden sollen.
private  int _referenceCount
           
private  ArrayList<ResultData> _results
          Liste mit den auszuliefernden Datensätzen
 
Constructor Summary
CollectingReceiver(ClientReceiverInterface receiver)
          Erzeugt ein neues Objekt für den angegebenen Receiver
 
Method Summary
 boolean decrementReferenceCount()
          Verringert den Referenzzähler um eins.
 int deliver()
          Liefert die gespeicherten Datensätze an den Receiver der Applikation aus.
 void incrementReferenceCount()
          Erhöht den Referenzzähler um eins.
 boolean storeForDelivery(ResultData result, int size)
          Speichert einen Datensatz zur späteren Auslieferung an den zugeordneten Receiver der Applikation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_results

private final ArrayList<ResultData> _results
Liste mit den auszuliefernden Datensätzen


_receiver

private final ClientReceiverInterface _receiver
Receiver der Applikation, an den die gespeicherten Datensätze ausgeliefert werden sollen.


_collectedSize

private int _collectedSize
Gesamtgröße der auszuliefernden Datensätze.


_referenceCount

private int _referenceCount
Constructor Detail

CollectingReceiver

public CollectingReceiver(ClientReceiverInterface receiver)
Erzeugt ein neues Objekt für den angegebenen Receiver

Method Detail

storeForDelivery

public boolean storeForDelivery(ResultData result,
                                int size)
Speichert einen Datensatz zur späteren Auslieferung an den zugeordneten Receiver der Applikation.

Parameters:
result - Zu speichernder Datensatz.
size - Größe des zu speichernden Datensatzes.
Returns:
true, wenn kein noch nicht ausgelieferter Datensatz gespeichert war; false sonst.

deliver

public int deliver()
Liefert die gespeicherten Datensätze an den Receiver der Applikation aus.

Returns:
Gesamtgröße der ausgelieferten Datensätze.

incrementReferenceCount

public void incrementReferenceCount()
Erhöht den Referenzzähler um eins.


decrementReferenceCount

public boolean decrementReferenceCount()
Verringert den Referenzzähler um eins.

Returns:
true, wenn der Referenzzähler den Wert 0 erreicht hat.