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.
Modifier and Type | Field and Description |
---|---|
private byte[] |
_attributesIndicator
Der Indikator zu den Änderungen der einzelnen Attribute der Attributgruppe.
|
private BaseSubscriptionInfo |
_baseSubscriptionInfo
Die Basisanmeldeinformationen
|
private byte[] |
_data
Die Teildatensätze als Bytestrom
|
private long |
_dataNumber
Laufende Nummer des Datensatzes
|
private long |
_dataTime
Die Zeit der Erzeugung des Datensatzes
|
private static Debug |
_debug
Objekt für Debugausgaben
|
private boolean |
_delayedDataFlag
Besagt, dass die zu sendenden Daten nachgelieferte Daten sind.
|
private byte |
_direction
Die Information über die Datenflußrichtung 0: Sender zum Zentraldatenverteiler 1: Zentraldatenverteiler an die Empfänger
|
private byte |
_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)
|
private int |
_telegramNumber
Der Index dieses Telegramms
|
private int |
_totalTelegramCount
Die gesamte Anzahl der Telegramme im Byte-Array.
|
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_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 and Description |
---|
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) |
Modifier and Type | Method and Description |
---|---|
private void |
checkConsistency() |
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.
|
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-Index
|
void |
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.
|
getLength, getPriority, getSize, getTelegram, getType, toShortDebugParamString, toShortDebugString, toString
private static Debug _debug
Objekt für Debugausgaben
private int _telegramNumber
Der Index dieses Telegramms
private int _totalTelegramCount
Die gesamte Anzahl der Telegramme im Byte-Array.
private long _dataTime
Die Zeit der Erzeugung des Datensatzes
private BaseSubscriptionInfo _baseSubscriptionInfo
Die Basisanmeldeinformationen
private boolean _delayedDataFlag
Besagt, dass die zu sendenden Daten nachgelieferte Daten sind.
private long _dataNumber
Laufende Nummer des Datensatzes
private byte _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)
private byte[] _attributesIndicator
Der Indikator zu den Änderungen der einzelnen Attribute der Attributgruppe.
private byte[] _data
Die Teildatensätze als Bytestrom
private byte _direction
Die Information über die Datenflußrichtung 0: Sender zum Zentraldatenverteiler 1: Zentraldatenverteiler an die Empfänger
public TransmitterDataTelegram()
public TransmitterDataTelegram(ApplicationDataTelegram applicationDataTelegram, byte direction)
Erzeugt neues TransmitterDataTelegram
applicationDataTelegram
- Zerlegtes ApplicationDataTelegramdirection
- Information über der Datenflussesrichtung 0: Sender zum Zentraldatenverteiler 1: Zentraldatenverteiler an die Empfängerpublic TransmitterDataTelegram(BaseSubscriptionInfo baseSubscriptionInfo, long dataNumber, boolean delayedDataFlag, byte errorFlag, byte[] attributesIndicator, byte[] data, int totalTelegramCount, int telegramNumber, long dataTime, byte direction)
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ängerpublic TransmitterDataTelegram(BaseSubscriptionInfo baseSubscriptionInfo, long dataNumber, boolean delayedDataFlag, byte errorFlag, byte[] attributesIndicator, byte prior, byte[] data, int totalTelegramCount, int telegramNumber, long dataTime, byte direction)
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ängerpublic final BaseSubscriptionInfo getBaseSubscriptionInfo()
Gibt die Basisanmeldeinformationen zurück.
getBaseSubscriptionInfo
in interface DataTelegramInterface
public final boolean getDelayedDataFlag()
Gibt an, ob Datensätze nachgeliefert worden sind. True-> verspätet, false-> nicht verspätet
public final long getDataNumber()
Gibt die Laufende Nummer des Datensatzes zurück.
public final long getDataTime()
Gibt die Zeit der Datensätze an.
public final byte getErrorFlag()
Gibt die Fehlerinformationen zurück.
public final byte[] getAttributesIndicator()
Gibt den Indikator zu den einzelnen Attributen der Attributgruppe zurück.
public final int getTotalTelegramsCount()
Gibt die Gesamtanzahl der Teiltelegramme des ursprünglichen Datensatzes zurück.
getTotalTelegramsCount
in interface DataTelegramInterface
public final int getTelegramNumber()
Gibt die Telegrammnummer dieses Teiltelegramms zurück
getTelegramNumber
in interface DataTelegramInterface
public final byte[] getData()
Gibt den Bytestrom dieses Telegramms zurück.
public final byte getDirection()
Gibt die Datenflußrichtung dieses Telegramms zurück.
public final void setDirection(byte newDirection)
Setzt die Datenflußrichtung dieses Telegramms auf den neuen Wert.
newDirection
- neue Richtungpublic final void setDataIndex(long dataNumber)
Setzt den Datensatz-Index
dataNumber
- Datensatz-Indexpublic final ApplicationDataTelegram getApplicationDataTelegram()
Erstellt ein Applikations-kompatibles Telegramm aus diesem Objekt.
public final java.lang.String parseToString()
DataTelegram
Gibt eine String-Repräsentation dieses Datensatzes zurück.
parseToString
in class DataTelegram
public final void write(java.io.DataOutputStream out) throws java.io.IOException
DataTelegram
Schreibt ein Telegramm in den übergegebenen DataOutputStream.
write
in class DataTelegram
out
- Der DataOutputStream.java.io.IOException
- Falls der Datensatz nicht in den Stream geschrieben werden kann.public final void read(java.io.DataInputStream in) throws java.io.IOException
DataTelegram
Liest ein Telegramm vom übergegebenen DataInputStream.
read
in class DataTelegram
in
- Der DataInputStream.java.io.IOException
- Falls der Datensatz nicht aus dem Stream gelesen werden kann.private void checkConsistency()