Class TransmitterDataTelegram
- java.lang.Object
-
- de.bsvrz.dav.daf.communication.lowLevel.telegrams.DataTelegram
-
- de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataTelegram
-
- All Implemented Interfaces:
QueueableTelegram
,DataTelegramInterface
- Direct Known Subclasses:
TransmitterDataTelegramV2
public class TransmitterDataTelegram extends DataTelegram implements DataTelegramInterface
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.
-
-
Field Summary
-
Fields inherited from class de.bsvrz.dav.daf.communication.lowLevel.telegrams.DataTelegram
APPLICATION_DATA_TELEGRAM_TYPE, APPLICATION_REQUEST_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, DISABLE_ENCRYPTION_ANSWER_TYPE, DISABLE_ENCRYPTION_REQUEST_TYPE, ENCRYPTED_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, SRP_ANSWER_TYPE, SRP_REQUEST_TYPE, SRP_VALDIATE_ANSWER_TYPE, SRP_VALDIATE_REQUEST_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_TELEGRAM_V2_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_REQUEST_TYPE, TRANSMITTER_TELEGRAM_TIME_ANSWER_TYPE, TRANSMITTER_TELEGRAM_TIME_REQUEST_TYPE, TRANSMITTER_TERMINATE_ORDER_TYPE, type
-
-
Constructor Summary
Constructors Constructor Description TransmitterDataTelegram()
TransmitterDataTelegram(ApplicationDataTelegram applicationDataTelegram, byte direction)
Erzeugt neues TransmitterDataTelegramTransmitterDataTelegram(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ApplicationDataTelegram
getApplicationDataTelegram()
Erstellt ein Applikations-kompatibles Telegramm aus diesem Objekt.long
getApplicationId()
Gibt die ID der ursprünglich sendenden Applikation zurück, 0 falls der Datenverteiler oder die lokale Konfiguration gesendet hat, -1 falls die sendende Applikation unbekannt ist (wegen alter Software).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ückint
getTotalTelegramsCount()
Gibt die Gesamtanzahl der Teiltelegramme des ursprünglichen Datensatzes zurück.java.lang.String
parseToString()
Gibt eine String-Repräsentation dieses Datensatzes zurück.void
read(java.io.DataInputStream in)
Liest ein Telegramm vom übergegebenen DataInputStream.void
setDataIndex(long dataNumber)
Setzt den Datensatz-Indexvoid
setDirection(byte newDirection)
Setzt die Datenflußrichtung dieses Telegramms auf den neuen Wert.void
write(java.io.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
-
-
-
-
Constructor Detail
-
TransmitterDataTelegram
public TransmitterDataTelegram()
-
TransmitterDataTelegram
public TransmitterDataTelegram(ApplicationDataTelegram applicationDataTelegram, byte direction)
Erzeugt neues TransmitterDataTelegram- Parameters:
applicationDataTelegram
- Zerlegtes ApplicationDataTelegramdirection
- 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
- BasisanmeldeinformationdataNumber
- Laufende Nummer des DatensatzesdelayedDataFlag
- Sind die Daten nachgelieferterrorFlag
- 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 hatdata
- Teil des Datensatzes als BytestromtotalTelegramCount
- Anzahl aller Teiltelegramme, in die der gesamte Datensatz zerlegt wurdetelegramNumber
- Index des TeiltelegrammsdataTime
- Zeitstempel des Telegrammsdirection
- 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
- BasisanmeldeinformationdataNumber
- Laufende Nummer des DatensatzesdelayedDataFlag
- Sind die Daten nachgelieferterrorFlag
- 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 hatprior
- Priorität des Telegrammsdata
- Teil des Datensatzes als BytestromtotalTelegramCount
- Anzahl aller Teiltelegramme, in die der gesamte Datensatz zerlegt wurdetelegramNumber
- Index des TeiltelegrammsdataTime
- Zeitstempel des Telegrammsdirection
- 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.- Specified by:
getBaseSubscriptionInfo
in interfaceDataTelegramInterface
- 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.- Specified by:
getDataNumber
in interfaceDataTelegramInterface
- 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.- Specified by:
getTotalTelegramsCount
in interfaceDataTelegramInterface
- Returns:
- Gesamtanzahl der Teiltelegramme
-
getTelegramNumber
public final int getTelegramNumber()
Gibt die Telegrammnummer dieses Teiltelegramms zurück- Specified by:
getTelegramNumber
in interfaceDataTelegramInterface
- 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 java.lang.String parseToString()
Description copied from class:DataTelegram
Gibt eine String-Repräsentation dieses Datensatzes zurück.- Specified by:
parseToString
in classDataTelegram
- Returns:
- Eine String-Repräsentation dieses Datensatzes.
-
write
public void write(java.io.DataOutputStream out) throws java.io.IOException
Description copied from class:DataTelegram
Schreibt ein Telegramm in den übergegebenen DataOutputStream.- Specified by:
write
in classDataTelegram
- Parameters:
out
- Der DataOutputStream.- Throws:
java.io.IOException
- Falls der Datensatz nicht in den Stream geschrieben werden kann.
-
read
public void read(java.io.DataInputStream in) throws java.io.IOException
Description copied from class:DataTelegram
Liest ein Telegramm vom übergegebenen DataInputStream.- Specified by:
read
in classDataTelegram
- Parameters:
in
- Der DataInputStream.- Throws:
java.io.IOException
- Falls der Datensatz nicht aus dem Stream gelesen werden kann.
-
getApplicationId
public long getApplicationId()
Gibt die ID der ursprünglich sendenden Applikation zurück, 0 falls der Datenverteiler oder die lokale Konfiguration gesendet hat, -1 falls die sendende Applikation unbekannt ist (wegen alter Software). Diese alte Version des Telegramms liefert immer -1 zurück.- Returns:
- Applikations-ID
-
-