java.lang.Object
de.bsvrz.dav.daf.communication.lowLevel.telegrams.DataTelegram
All Implemented Interfaces:
QueueableTelegram
Direct Known Subclasses:
ApplicationDataTelegram, ApplicationRequest, AuthentificationAnswer, AuthentificationRequest, AuthentificationTextAnswer, AuthentificationTextRequest, ClosingTelegram, ComParametersAnswer, ComParametersRequest, DisableEncryptionAnswer, DisableEncryptionRequest, EncryptedTelegram, KeepAliveTelegram, ProtocolVersionAnswer, ProtocolVersionRequest, ReceiveSubscriptionTelegram, ReceiveUnsubscriptionTelegram, RequestSenderDataTelegram, SendSubscriptionTelegram, SendUnsubscriptionTelegram, SrpAnswer, SrpRequest, SrpValidateAnswer, SrpValidateRequest, TelegramTimeAnswer, TelegramTimeRequest, TerminateOrderTelegram, TransmitterAuthentificationAnswer, TransmitterAuthentificationRequest, TransmitterAuthentificationTextAnswer, TransmitterAuthentificationTextRequest, TransmitterBestWayUpdate, TransmitterClosingTelegram, TransmitterComParametersAnswer, TransmitterComParametersRequest, TransmitterDataSubscription, TransmitterDataSubscriptionReceipt, TransmitterDataTelegram, TransmitterDataUnsubscription, TransmitterKeepAliveTelegram, TransmitterListsDeliveryUnsubscription, TransmitterListsSubscription, TransmitterListsUnsubscription, TransmitterListsUpdate, TransmitterProtocolVersionAnswer, TransmitterProtocolVersionRequest, TransmitterRequest, TransmitterTelegramTimeAnswer, TransmitterTelegramTimeRequest, TransmitterTerminateOrderTelegram

public abstract class DataTelegram
extends java.lang.Object
implements QueueableTelegram
In dieser Klasse wird der Typ eines Telegramms definiert und Methoden zum Lesen und Schreiben deklariert. Es wird von zwei Verbindungsarten ausgegangen: von DAV zu DAV und von DAF zu DAV.
  • Field Details

    • PROTOCOL_VERSION_REQUEST_TYPE

      public static final byte PROTOCOL_VERSION_REQUEST_TYPE
      Telegrammtyp: Protokollversionsverhandlung
      See Also:
      Constant Field Values
    • PROTOCOL_VERSION_ANSWER_TYPE

      public static final byte PROTOCOL_VERSION_ANSWER_TYPE
      Telegrammtyp: Antwort auf die Protokollversionsverhandlung
      See Also:
      Constant Field Values
    • AUTHENTIFICATION_TEXT_REQUEST_TYPE

      public static final byte AUTHENTIFICATION_TEXT_REQUEST_TYPE
      Telegrammtyp: Authentifizierungsanfrage
      See Also:
      Constant Field Values
    • AUTHENTIFICATION_TEXT_ANSWER_TYPE

      public static final byte AUTHENTIFICATION_TEXT_ANSWER_TYPE
      Telegrammtyp: Antwort auf eine Anfrage eines Authentifizierungsschluessels
      See Also:
      Constant Field Values
    • AUTHENTIFICATION_REQUEST_TYPE

      public static final byte AUTHENTIFICATION_REQUEST_TYPE
      Telegrammtyp: Authentifizierungsanfrage
      See Also:
      Constant Field Values
    • AUTHENTIFICATION_ANSWER_TYPE

      public static final byte AUTHENTIFICATION_ANSWER_TYPE
      Telegrammtyp: Antwort auf Authentifizierungsanfrage
      See Also:
      Constant Field Values
    • COM_PARAMETER_REQUEST_TYPE

      public static final byte COM_PARAMETER_REQUEST_TYPE
      Telegrammtyp: Kommunikationsparameterverhandlung
      See Also:
      Constant Field Values
    • COM_PARAMETER_ANSWER_TYPE

      public static final byte COM_PARAMETER_ANSWER_TYPE
      Telegrammtyp: Antwort auf Kommunikationsparameterverhandlung
      See Also:
      Constant Field Values
    • TERMINATE_ORDER_TYPE

      public static final byte TERMINATE_ORDER_TYPE
      Telegrammtyp: Terminierungsbefehl
      See Also:
      Constant Field Values
    • CLOSING_TYPE

      public static final byte CLOSING_TYPE
      Telegrammtyp: Schließungsnachricht
      See Also:
      Constant Field Values
    • REQUEST_SENDER_DATA_TYPE

      public static final byte REQUEST_SENDER_DATA_TYPE
      Telegrammtyp: Sendedatenaufforderung
      See Also:
      Constant Field Values
    • TELEGRAM_TIME_REQUEST_TYPE

      public static final byte TELEGRAM_TIME_REQUEST_TYPE
      Telegrammtyp: Telegrammlaufzeitermittlungsanfrage
      See Also:
      Constant Field Values
    • TELEGRAM_TIME_ANSWER_TYPE

      public static final byte TELEGRAM_TIME_ANSWER_TYPE
      Telegrammtyp: Telegrammlaufzeitermittlungsantwort
      See Also:
      Constant Field Values
    • KEEP_ALIVE_TYPE

      public static final byte KEEP_ALIVE_TYPE
      Telegrammtyp: KeepAlive Telegramm
      See Also:
      Constant Field Values
    • SEND_SUBSCRIPTION_TYPE

      public static final byte SEND_SUBSCRIPTION_TYPE
      Telegrammtyp: Sendeanmeldung
      See Also:
      Constant Field Values
    • RECEIVE_SUBSCRIPTION_TYPE

      public static final byte RECEIVE_SUBSCRIPTION_TYPE
      Telegrammtyp: ReceiveSubscriptionTelegram: Empfangsanmeldung
      See Also:
      Constant Field Values
    • SEND_UNSUBSCRIPTION_TYPE

      public static final byte SEND_UNSUBSCRIPTION_TYPE
      Telegrammtyp: Sendeabmeldung
      See Also:
      Constant Field Values
    • RECEIVE_UNSUBSCRIPTION_TYPE

      public static final byte RECEIVE_UNSUBSCRIPTION_TYPE
      Telegrammtyp: Empfangsabmeldung
      See Also:
      Constant Field Values
    • APPLICATION_DATA_TELEGRAM_TYPE

      public static final byte APPLICATION_DATA_TELEGRAM_TYPE
      Telegrammtyp: Austausch von Datensätzen
      See Also:
      Constant Field Values
    • TRANSMITTER_PROTOCOL_VERSION_REQUEST_TYPE

      public static final byte TRANSMITTER_PROTOCOL_VERSION_REQUEST_TYPE
      Telegrammtyp: Verhandlung der Protokollversion (Client)
      See Also:
      Constant Field Values
    • TRANSMITTER_PROTOCOL_VERSION_ANSWER_TYPE

      public static final byte TRANSMITTER_PROTOCOL_VERSION_ANSWER_TYPE
      Telegrammtyp: Verhandlung der Protokollversion (Server).
      See Also:
      Constant Field Values
    • TRANSMITTER_AUTHENTIFICATION_TEXT_REQUEST_TYPE

      public static final byte TRANSMITTER_AUTHENTIFICATION_TEXT_REQUEST_TYPE
      Telegrammtyp: Authentifizierungsbereitschaft
      See Also:
      Constant Field Values
    • TRANSMITTER_AUTHENTIFICATION_TEXT_ANSWER_TYPE

      public static final byte TRANSMITTER_AUTHENTIFICATION_TEXT_ANSWER_TYPE
      Telegrammtyp: Aufforderung zur Authentifizierung
      See Also:
      Constant Field Values
    • TRANSMITTER_AUTHENTIFICATION_REQUEST_TYPE

      public static final byte TRANSMITTER_AUTHENTIFICATION_REQUEST_TYPE
      Telegrammtyp: Übermittelung der Authentifizierungsdaten
      See Also:
      Constant Field Values
    • TRANSMITTER_AUTHENTIFICATION_ANSWER_TYPE

      public static final byte TRANSMITTER_AUTHENTIFICATION_ANSWER_TYPE
      Telegrammtyp: Informationen, die nach der erfolgreichen Authentifizierung übergeben werden
      See Also:
      Constant Field Values
    • TRANSMITTER_COM_PARAMETER_REQUEST_TYPE

      public static final byte TRANSMITTER_COM_PARAMETER_REQUEST_TYPE
      Telegrammtyp: Verhandlung der Verbindungsparameter (Client).
      See Also:
      Constant Field Values
    • TRANSMITTER_COM_PARAMETER_ANSWER_TYPE

      public static final byte TRANSMITTER_COM_PARAMETER_ANSWER_TYPE
      Telegrammtyp: Verhandlung der Verbindungsparameter (Server).
      See Also:
      Constant Field Values
    • TRANSMITTER_TERMINATE_ORDER_TYPE

      public static final byte TRANSMITTER_TERMINATE_ORDER_TYPE
      Telegrammtyp: Terminierung der Verbindung
      See Also:
      Constant Field Values
    • TRANSMITTER_CLOSING_TYPE

      public static final byte TRANSMITTER_CLOSING_TYPE
      Telegrammtyp: Abmeldung einer Datenverteiler-Datenverteiler-Verbindung
      See Also:
      Constant Field Values
    • TRANSMITTER_TELEGRAM_TIME_REQUEST_TYPE

      public static final byte TRANSMITTER_TELEGRAM_TIME_REQUEST_TYPE
      Telegrammtyp: Ermittlung der Telegrammlaufzeit
      See Also:
      Constant Field Values
    • TRANSMITTER_TELEGRAM_TIME_ANSWER_TYPE

      public static final byte TRANSMITTER_TELEGRAM_TIME_ANSWER_TYPE
      Telegrammtyp: Ermittlung der Telegrammlaufzeit
      See Also:
      Constant Field Values
    • TRANSMITTER_KEEP_ALIVE_TYPE

      public static final byte TRANSMITTER_KEEP_ALIVE_TYPE
      Telegrammtyp: Keep-Alive Telegramm
      See Also:
      Constant Field Values
    • TRANSMITTER_DATA_SUBSCRIPTION_TYPE

      public static final byte TRANSMITTER_DATA_SUBSCRIPTION_TYPE
      Der Datenverteiler meldet Daten für Empfänger oder Sender an
      See Also:
      Constant Field Values
    • TRANSMITTER_DATA_SUBSCRIPTION_RECEIPT_TYPE

      public static final byte TRANSMITTER_DATA_SUBSCRIPTION_RECEIPT_TYPE
      Der Datenverteiler quittiert eine an ihn gerichtete Datenanmeldung
      See Also:
      Constant Field Values
    • TRANSMITTER_DATA_UNSUBSCRIPTION_TYPE

      public static final byte TRANSMITTER_DATA_UNSUBSCRIPTION_TYPE
      Der Datenverteiler meldet Daten für Empfänger oder Sender bei einem anderen Datenverteiler ab
      See Also:
      Constant Field Values
    • TRANSMITTER_DATA_TELEGRAM_TYPE

      public static final byte TRANSMITTER_DATA_TELEGRAM_TYPE
      Telegramm zur Übertragung der Anwendungsdaten
      See Also:
      Constant Field Values
    • TRANSMITTER_BEST_WAY_UPDATE_TYPE

      public static final byte TRANSMITTER_BEST_WAY_UPDATE_TYPE
      Telegramm zur Aktualisierung der Matrix der günstigsten Wege
      See Also:
      Constant Field Values
    • TRANSMITTER_LISTS_SUBSCRIPTION_TYPE

      public static final byte TRANSMITTER_LISTS_SUBSCRIPTION_TYPE
      Telegramm zur Anmeldung von Anmeldungslisten Abonnements
      See Also:
      Constant Field Values
    • TRANSMITTER_LISTS_UNSUBSCRIPTION_TYPE

      public static final byte TRANSMITTER_LISTS_UNSUBSCRIPTION_TYPE
      Telegrammtyp: Abmeldung von Anmeldungslisten Abonnements
      See Also:
      Constant Field Values
    • TRANSMITTER_LISTS_DELIVERY_UNSUBSCRIPTION_TYPE

      public static final byte TRANSMITTER_LISTS_DELIVERY_UNSUBSCRIPTION_TYPE
      Telegrammtyp: Kündigung von Anmeldungslisten Abonnements.
      See Also:
      Constant Field Values
    • TRANSMITTER_LISTS_UPDATE_TYPE

      public static final byte TRANSMITTER_LISTS_UPDATE_TYPE
      Telegrammtyp: Änderungsmitteilung zu Anmeldungslisten.
      See Also:
      Constant Field Values
    • TRANSMITTER_LISTS_UPDATE_2_TYPE

      public static final byte TRANSMITTER_LISTS_UPDATE_2_TYPE
      Telegrammtyp: Änderungsmitteilung zu Anmeldungslisten.
      See Also:
      Constant Field Values
    • SRP_REQUEST_TYPE

      public static final byte SRP_REQUEST_TYPE
      Telegrammtyp: SRP-Telegramm 1 Client → Server
      See Also:
      Constant Field Values
    • SRP_ANSWER_TYPE

      public static final byte SRP_ANSWER_TYPE
      Telegrammtyp: SRP-Telegramm 2 Server → Client
      See Also:
      Constant Field Values
    • SRP_VALDIATE_REQUEST_TYPE

      public static final byte SRP_VALDIATE_REQUEST_TYPE
      Telegrammtyp: SRP-Telegramm 3 Client → Server
      See Also:
      Constant Field Values
    • SRP_VALDIATE_ANSWER_TYPE

      public static final byte SRP_VALDIATE_ANSWER_TYPE
      Telegrammtyp: SRP-Telegramm 4 Server → Client
      See Also:
      Constant Field Values
    • APPLICATION_REQUEST_TYPE

      public static final byte APPLICATION_REQUEST_TYPE
      Telegramm zum Anfragen einer Applikation nach der SRP-Authentifizierung
      See Also:
      Constant Field Values
    • TRANSMITTER_REQUEST_TYPE

      public static final byte TRANSMITTER_REQUEST_TYPE
      Telegramm zum Aufbauen einer Dav-Dav-Verbindung nach der SRP-Authentifizierung
      See Also:
      Constant Field Values
    • ENCRYPTED_TYPE

      public static final byte ENCRYPTED_TYPE
      Telegramm mit verschlüsseltem Inhalt
      See Also:
      Constant Field Values
    • DISABLE_ENCRYPTION_REQUEST_TYPE

      public static final byte DISABLE_ENCRYPTION_REQUEST_TYPE
      Anfrage Verschlüsselung abschalten
      See Also:
      Constant Field Values
    • DISABLE_ENCRYPTION_ANSWER_TYPE

      public static final byte DISABLE_ENCRYPTION_ANSWER_TYPE
      Antwort Verschlüsselung abschalten
      See Also:
      Constant Field Values
    • TRANSMITTER_DATA_TELEGRAM_V2_TYPE

      public static final byte TRANSMITTER_DATA_TELEGRAM_V2_TYPE
      Telegramm zur Übertragung der Anwendungsdaten Version 2
      See Also:
      Constant Field Values
    • type

      protected byte type
      Der Telegrammtyp.
    • priority

      protected byte priority
      Die Telegrammpriorität.
    • length

      protected int length
      Die Länge des Telegrams.
  • Constructor Details

    • DataTelegram

      public DataTelegram()
  • Method Details

    • getTelegram

      public static DataTelegram getTelegram​(byte _type)
      Erstellt ein leeres Telegramm vom Typ des Übergabeparameters.
      Parameters:
      _type - Typ eines Telegramms.
      Returns:
      gibt eine Instanz des von DataTelegram abgeleiteten Typs zurück.
    • read

      public abstract void read​(java.io.DataInputStream in) throws java.io.IOException
      Liest ein Telegramm vom übergegebenen DataInputStream.
      Parameters:
      in - Der DataInputStream.
      Throws:
      java.io.IOException - Falls der Datensatz nicht aus dem Stream gelesen werden kann.
    • write

      public abstract void write​(java.io.DataOutputStream out) throws java.io.IOException
      Schreibt ein Telegramm in den übergegebenen DataOutputStream.
      Parameters:
      out - Der DataOutputStream.
      Throws:
      java.io.IOException - Falls der Datensatz nicht in den Stream geschrieben werden kann.
    • parseToString

      public abstract java.lang.String parseToString()
      Gibt eine String-Repräsentation dieses Datensatzes zurück.
      Returns:
      Eine String-Repräsentation dieses Datensatzes.
    • getLength

      public int getLength()
      Gibt die Länge des Telegramms an.
      Returns:
      Die Länge des Telegrams.
    • getSize

      public int getSize()
      Liefert die Gesamtgröße des Telegramms einschließlich des führenden Typ-Bytes und der Länge des Telegramminhalts.
      Specified by:
      getSize in interface QueueableTelegram
      Returns:
      Gesamtgröße des Telegrams in Bytes.
    • getType

      public final byte getType()
      Gibt den Typ des Telegramms an.
      Returns:
      Typ des Telegramms.
    • getPriority

      public final byte getPriority()
      Gibt die Priorität des Telegramms an. Je größer der Wert, desto größer die Priorität.
      Specified by:
      getPriority in interface QueueableTelegram
      Returns:
      Priorität des Telegramms.
    • toString

      public java.lang.String toString()
      Gibt eine kurze Beschreibung des Objektes zurück.
      Overrides:
      toString in class java.lang.Object
      Returns:
      Beschreibung des Objektes
    • toShortDebugString

      public java.lang.String toShortDebugString()
      Gibt eine kurze Beschreibung des Objektes zurück.
      Returns:
      Beschreibung des Objektes
    • toShortDebugParamString

      public java.lang.String toShortDebugParamString()
      Bestimmt eine kurze Beschreibung der Eigenschaften eines Telegramms.
      Returns:
      Beschreibung der Eigenschaften eines Telegramms