de.bsvrz.dav.daf.communication.lowLevel.telegrams
Class TransmitterDataTelegram

java.lang.Object
  extended by de.bsvrz.dav.daf.communication.lowLevel.telegrams.DataTelegram
      extended by de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataTelegram
All Implemented Interfaces:
QueueableTelegram

public class TransmitterDataTelegram
extends DataTelegram

Telegramm zur Übertragung der Anwendungsdaten. Mit diesem Telegramm werden die Anwendungsdaten übertragen. Es kann in beide Richtungen benutzt werden. Die Anwendungsdaten werden durch folgende Informationen gekennzeichnet: Konfigurationsobjekt (Objekt-Id), Attributgruppe, Aspekt, Simulationsvariante. Die zu übertragenden Anwendungsdaten werden ab einer bestimmten Größe in mehrere Telegramme zerlegt. Um unnötige Redundanz zu vermeiden, werden die Telegrammelemente Zeitstempel, Fehlerkennung sowie die Angaben zum Attributindikator nur im ersten Telegramm übertragen.

Author:
Kappich Systemberatung

Field Summary
 
Fields inherited from class de.bsvrz.dav.daf.communication.lowLevel.telegrams.DataTelegram
APPLICATION_DATA_TELEGRAM_TYPE, AUTHENTIFICATION_ANSWER_TYPE, AUTHENTIFICATION_REQUEST_TYPE, AUTHENTIFICATION_TEXT_ANSWER_TYPE, AUTHENTIFICATION_TEXT_REQUEST_TYPE, CLOSING_TYPE, COM_PARAMETER_ANSWER_TYPE, COM_PARAMETER_REQUEST_TYPE, KEEP_ALIVE_TYPE, length, priority, PROTOCOL_VERSION_ANSWER_TYPE, PROTOCOL_VERSION_REQUEST_TYPE, RECEIVE_SUBSCRIPTION_TYPE, RECEIVE_UNSUBSCRIPTION_TYPE, REQUEST_SENDER_DATA_TYPE, SEND_SUBSCRIPTION_TYPE, SEND_UNSUBSCRIPTION_TYPE, TELEGRAM_TIME_ANSWER_TYPE, TELEGRAM_TIME_REQUEST_TYPE, TERMINATE_ORDER_TYPE, TRANSMITTER_AUTHENTIFICATION_ANSWER_TYPE, TRANSMITTER_AUTHENTIFICATION_REQUEST_TYPE, TRANSMITTER_AUTHENTIFICATION_TEXT_ANSWER_TYPE, TRANSMITTER_AUTHENTIFICATION_TEXT_REQUEST_TYPE, TRANSMITTER_BEST_WAY_UPDATE_TYPE, TRANSMITTER_CLOSING_TYPE, TRANSMITTER_COM_PARAMETER_ANSWER_TYPE, TRANSMITTER_COM_PARAMETER_REQUEST_TYPE, TRANSMITTER_DATA_SUBSCRIPTION_RECEIPT_TYPE, TRANSMITTER_DATA_SUBSCRIPTION_TYPE, TRANSMITTER_DATA_TELEGRAM_TYPE, TRANSMITTER_DATA_UNSUBSCRIPTION_TYPE, TRANSMITTER_KEEP_ALIVE_TYPE, TRANSMITTER_LISTS_DELIVERY_UNSUBSCRIPTION_TYPE, TRANSMITTER_LISTS_SUBSCRIPTION_TYPE, TRANSMITTER_LISTS_UNSUBSCRIPTION_TYPE, TRANSMITTER_LISTS_UPDATE_2_TYPE, TRANSMITTER_LISTS_UPDATE_TYPE, TRANSMITTER_PROTOCOL_VERSION_ANSWER_TYPE, TRANSMITTER_PROTOCOL_VERSION_REQUEST_TYPE, TRANSMITTER_TELEGRAM_TIME_ANSWER_TYPE, TRANSMITTER_TELEGRAM_TIME_REQUEST_TYPE, TRANSMITTER_TERMINATE_ORDER_TYPE, type
 
Constructor Summary
TransmitterDataTelegram()
           
TransmitterDataTelegram(ApplicationDataTelegram applicationDataTelegram, byte direction)
          Erzeugt neues TransmitterDataTelegram
TransmitterDataTelegram(BaseSubscriptionInfo baseSubscriptionInfo, long dataNumber, boolean delayedDataFlag, byte errorFlag, byte[] attributesIndicator, byte[] data, int totalTelegramCount, int telegramNumber, long dataTime, byte direction)
           
TransmitterDataTelegram(BaseSubscriptionInfo baseSubscriptionInfo, long dataNumber, boolean delayedDataFlag, byte errorFlag, byte[] attributesIndicator, byte prior, byte[] data, int totalTelegramCount, int telegramNumber, long dataTime, byte direction)
           
 
Method Summary
 ApplicationDataTelegram getApplicationDataTelegram()
          Erstellt ein Applikations-kompatibles Telegramm aus diesem Objekt.
 byte[] getAttributesIndicator()
          Gibt den Indikator zu den einzelnen Attributen der Attributgruppe zurück.
 BaseSubscriptionInfo getBaseSubscriptionInfo()
          Gibt die Basisanmeldeinformationen zurück.
 byte[] getData()
          Gibt den Bytestrom dieses Telegramms zurück.
 long getDataNumber()
          Gibt die Laufende Nummer des Datensatzes zurück.
 long getDataTime()
          Gibt die Zeit der Datensätze an.
 boolean getDelayedDataFlag()
          Gibt an, ob Datensätze nachgeliefert worden sind.
 byte getDirection()
          Gibt die Datenflußrichtung dieses Telegramms zurück.
 byte getErrorFlag()
          Gibt die Fehlerinformationen zurück.
 int getTelegramNumber()
          Gibt die Telegrammnummer dieses Teiltelegramms zurück
 int getTotalTelegramsCount()
          Gibt die Gesamtanzahl der Teiltelegramme des ursprünglichen Datensatzes zurück.
 String parseToString()
          Gibt eine String-Repräsentation dieses Datensatzes zurück.
 void read(DataInputStream in)
          Liest ein Telegramm vom übergegebenen DataInputStream.
 void setDataIndex(long dataNumber)
          Setzt den Datensatz-Index
 void setDirection(byte newDirection)
          Setzt die Datenflußrichtung dieses Telegramms auf den neuen Wert.
 void write(DataOutputStream out)
          Schreibt ein Telegramm in den übergegebenen DataOutputStream.
 
Methods inherited from class de.bsvrz.dav.daf.communication.lowLevel.telegrams.DataTelegram
getLength, getPriority, getSize, getTelegram, getType, toShortDebugParamString, toShortDebugString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TransmitterDataTelegram

public TransmitterDataTelegram()

TransmitterDataTelegram

public TransmitterDataTelegram(ApplicationDataTelegram applicationDataTelegram,
                               byte direction)
Erzeugt neues TransmitterDataTelegram

Parameters:
applicationDataTelegram - Zerlegtes ApplicationDataTelegram
direction - Information über der Datenflussesrichtung 0: Sender zum Zentraldatenverteiler 1: Zentraldatenverteiler an die Empfänger

TransmitterDataTelegram

public TransmitterDataTelegram(BaseSubscriptionInfo baseSubscriptionInfo,
                               long dataNumber,
                               boolean delayedDataFlag,
                               byte errorFlag,
                               byte[] attributesIndicator,
                               byte[] data,
                               int totalTelegramCount,
                               int telegramNumber,
                               long dataTime,
                               byte direction)
Parameters:
baseSubscriptionInfo - Basisanmeldeinformation
dataNumber - Laufende Nummer des Datensatzes
delayedDataFlag - Sind die Daten nachgeliefert
errorFlag - Fehlerkennung der Anwendungsdaten. 0: Daten vorhanden (kein fehler). 1: Quelle vorhanden aber Daten noch nicht lieferbar. 2: Quelle nicht vorhanden. 3: Keine Rechte 8: Unzulässige Anmeldung(2 quellen, 2 Senken, 1 Quelle 1 senke und umgekehrt)
attributesIndicator - gibt an ob sich ein Attribut geändert hat
data - Teil des Datensatzes als Bytestrom
totalTelegramCount - Anzahl aller Teiltelegramme, in die der gesamte Datensatz zerlegt wurde
telegramNumber - Index des Teiltelegramms
dataTime - Zeitstempel des Telegramms
direction - Information über der Datenflussesrichtung 0: Sender zum Zentraldatenverteiler 1: Zentraldatenverteiler an die Empfänger

TransmitterDataTelegram

public TransmitterDataTelegram(BaseSubscriptionInfo baseSubscriptionInfo,
                               long dataNumber,
                               boolean delayedDataFlag,
                               byte errorFlag,
                               byte[] attributesIndicator,
                               byte prior,
                               byte[] data,
                               int totalTelegramCount,
                               int telegramNumber,
                               long dataTime,
                               byte direction)
Parameters:
baseSubscriptionInfo - Basisanmeldeinformation
dataNumber - Laufende Nummer des Datensatzes
delayedDataFlag - Sind die Daten nachgeliefert
errorFlag - Fehlerkennung der Anwendungsdaten. 0: Daten vorhanden (kein fehler). 1: Quelle vorhanden aber Daten noch nicht lieferbar. 2: Quelle nicht vorhanden. 3: Keine Rechte 8: Unzulässige Anmeldung(2 quellen, 2 Senken, 1 Quelle 1 senke und umgekehrt)
attributesIndicator - gibt an ob sich ein Attribut geändert hat
prior - Priorität des Telegramms
data - Teil des Datensatzes als Bytestrom
totalTelegramCount - Anzahl aller Teiltelegramme, in die der gesamte Datensatz zerlegt wurde
telegramNumber - Index des Teiltelegramms
dataTime - Zeitstempel des Telegramms
direction - Information über der Datenflussesrichtung 0: Sender zum Zentraldatenverteiler 1: Zentraldatenverteiler an die Empfänger
Method Detail

getBaseSubscriptionInfo

public final BaseSubscriptionInfo getBaseSubscriptionInfo()
Gibt die Basisanmeldeinformationen zurück.

Returns:
Basisanmeldeinformationen

getDelayedDataFlag

public final boolean getDelayedDataFlag()
Gibt an, ob Datensätze nachgeliefert worden sind. True-> verspätet, false-> nicht verspätet

Returns:
True wenn Daten nachgeliefert sind.

getDataNumber

public final long getDataNumber()
Gibt die Laufende Nummer des Datensatzes zurück.

Returns:
Laufende Nummer des Datensatzes

getDataTime

public final long getDataTime()
Gibt die Zeit der Datensätze an.

Returns:
Zeit der Datensätze

getErrorFlag

public final byte getErrorFlag()
Gibt die Fehlerinformationen zurück.

Returns:
Fehlerinformationen

getAttributesIndicator

public final byte[] getAttributesIndicator()
Gibt den Indikator zu den einzelnen Attributen der Attributgruppe zurück.

Returns:
Indikator

getTotalTelegramsCount

public final int getTotalTelegramsCount()
Gibt die Gesamtanzahl der Teiltelegramme des ursprünglichen Datensatzes zurück.

Returns:
Gesamtanzahl der Teiltelegramme

getTelegramNumber

public final int getTelegramNumber()
Gibt die Telegrammnummer dieses Teiltelegramms zurück

Returns:
Telegrammnummer

getData

public final byte[] getData()
Gibt den Bytestrom dieses Telegramms zurück.

Returns:
Bytestrom

getDirection

public final byte getDirection()
Gibt die Datenflußrichtung dieses Telegramms zurück.

Returns:
Datenflußrichtung

setDirection

public final void setDirection(byte newDirection)
Setzt die Datenflußrichtung dieses Telegramms auf den neuen Wert.

Parameters:
newDirection - neue Richtung

setDataIndex

public final void setDataIndex(long dataNumber)
Setzt den Datensatz-Index

Parameters:
dataNumber - Datensatz-Index

getApplicationDataTelegram

public final ApplicationDataTelegram getApplicationDataTelegram()
Erstellt ein Applikations-kompatibles Telegramm aus diesem Objekt.

Returns:
Applikations kompatibles Telegramm

parseToString

public final String parseToString()
Description copied from class: DataTelegram
Gibt eine String-Repräsentation dieses Datensatzes zurück.

Specified by:
parseToString in class DataTelegram
Returns:
Eine String-Repräsentation dieses Datensatzes.

write

public final void write(DataOutputStream out)
                 throws IOException
Description copied from class: DataTelegram
Schreibt ein Telegramm in den übergegebenen DataOutputStream.

Specified by:
write in class DataTelegram
Parameters:
out - Der DataOutputStream.
Throws:
IOException - Falls der Datensatz nicht in den Stream geschrieben werden kann.

read

public final void read(DataInputStream in)
                throws IOException
Description copied from class: DataTelegram
Liest ein Telegramm vom übergegebenen DataInputStream.

Specified by:
read in class DataTelegram
Parameters:
in - Der DataInputStream.
Throws:
IOException - Falls der Datensatz nicht aus dem Stream gelesen werden kann.