de.bsvrz.dav.dav.main
Class SplittedTransmitterTelegramsTable

java.lang.Object
  extended by de.bsvrz.dav.dav.main.SplittedTransmitterTelegramsTable

public class SplittedTransmitterTelegramsTable
extends Object

Diese Klasse stellt eine Methode zur Verfügung, mit der alle Teiltelegramme eines Datensatzes gesammelt werden können. Wurden alle Teiltelegramme empfangen, so werden diese zurückgegeben und der Datensatz kann rekonstruiert werden.

Author:
Kappich Systemberatung

Field Summary
private  Hashtable<BaseSubscriptionInfo,Hashtable<Long,TransmitterDataTelegram[]>> dataTable
          Sammelt alle Teiltelegramme einer BaseSubscriptionInfo.
 
Constructor Summary
SplittedTransmitterTelegramsTable()
          Erstellt ein neues Objekt
 
Method Summary
(package private)  TransmitterDataTelegram[] put(TransmitterDataTelegram telegram)
          Diese Methode sammelt alle Teiltelegramme.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dataTable

private Hashtable<BaseSubscriptionInfo,Hashtable<Long,TransmitterDataTelegram[]>> dataTable
Sammelt alle Teiltelegramme einer BaseSubscriptionInfo.

Als Key dient die BaseSubscriptionInfo, der Value ist eine Hashtable (im folgenden als Hashtable' bezeichnet).

Die Hashtable' benutzt als Key die laufende Nummer des Datensatzes, als Value wird eine Liste gespeichert. In dieser Liste werden die Teiltelegramme gespeichert.

Constructor Detail

SplittedTransmitterTelegramsTable

public SplittedTransmitterTelegramsTable()
Erstellt ein neues Objekt

Method Detail

put

final TransmitterDataTelegram[] put(TransmitterDataTelegram telegram)
Diese Methode sammelt alle Teiltelegramme. Wurden alle Teiltelegramme empfangen, werden diese zurückgegeben.

Parameters:
telegram - Teiltelegramm, das ein Telegramm vervollständigen soll oder ein komplettes Telegramm, das als Ganzes übergeben wurde und somit nicht zusammengebaut werden muss.
Returns:
Alle Teiltelegramme, aus denen ein vollständiges Telegramm rekonstruiert werden kann (und damit ein Datenatz) oder aber null. null bedeutet, dass noch nicht alle Teiltelegramme empfangen wurden die nötig sind, um das gesamte Telegramm zusammen zu bauen.
Throws:
IllegalArgumentException - Das übergebene Telegramm konnte keinem bisher empfangenen Teil zugeordnet werden oder war null.