Package de.bsvrz.kex.tls.osi7
Class Osi7Telegram
java.lang.Object
de.bsvrz.kex.tls.osi7.Osi7Telegram
public class Osi7Telegram
extends java.lang.Object
Stellt ein Stellvertreterobjekt für ein Osi7Telegramm zum einfachen, lesenden Zugriff auf die einzelnen Bestandteile
(Einzeltelegramme, De-Blöcke) zur Verfügung.
-
Constructor Summary
Constructors Constructor Description Osi7Telegram(int sender, byte[] tlsData, boolean longtelegram)
Erzeugt eine Instanz eines Osi7Telegramms aus dem übergebenen Bytearray. -
Method Summary
Modifier and Type Method Description int
getCountSingleTelegram()
Gibt die Anzahl der Einzeltelgramme im Osi7Telegramm zurück.int
getOsi7Adress()
Liefert die KnotenNummer des Osi7Telegramms in Dezimaldarstellung (0..16777215).java.lang.String
getOsi7AdressHex()
Liefert die KnotenNummer des Osi7Telegramms als Hex-Darstellung (0..ffffff).java.lang.String
getOsi7AdressLocCode()
Liefert die KnotenNummer des Osi7Telegramms in der Darstellung "LocationCode-Distanz" (0-0 .. 65535-255).int
getSender()
Gibt den Absender des Telegramms zurück.SingleTelegram[]
getSingleTelegram()
Gibt die Einzeltelgramme des Osi7Telegramms zurück.java.lang.String
toString()
Liefert die Darstellung eines Osi7Telegramms.
-
Constructor Details
-
Osi7Telegram
public Osi7Telegram(int sender, byte[] tlsData, boolean longtelegram) throws IllegalOsi7TelegramStructureExceptionErzeugt eine Instanz eines Osi7Telegramms aus dem übergebenen Bytearray. Zerlegt das Osi7Telegramm zudem in seine Einzeltelegramme (SingleTelegram
) und DE-BlöckeDeBlock
- Parameters:
sender
- Absender des TelegrammstlsData
- Byteblock mit den Daten eines empfangenen Osi7Telegramms gemäß TLS.longtelegram
- true = Das Telegramm ist ein spezielles Langtelegramm, das größer ist als normale Langtelegramm. Ausserdem ist nur ein Einzeltelegramm vorhanden und das Byte für die "Anzahl Einzeltelegramme" und das Byte "Länge Einzeltelegramme" fehlt; false = Normale Telegramme- Throws:
IllegalOsi7TelegramStructureException
- wenn der Telegrammaufbau nicht den formalen Anforderungen der TLS genügt.
-
-
Method Details
-
getCountSingleTelegram
public int getCountSingleTelegram()Gibt die Anzahl der Einzeltelgramme im Osi7Telegramm zurück.- Returns:
- Anzahl der Einzeltelegramme (1..46) im Osi7Telegramm.
-
getOsi7Adress
public int getOsi7Adress()Liefert die KnotenNummer des Osi7Telegramms in Dezimaldarstellung (0..16777215).- Returns:
- KnotenNummer des Osi7Telegramms in Dezimaldarstellung (0..16777215)
-
getOsi7AdressHex
public java.lang.String getOsi7AdressHex()Liefert die KnotenNummer des Osi7Telegramms als Hex-Darstellung (0..ffffff).- Returns:
- KnotenNummer des Osi7Telegramms als Hex-Darstellung (0..ffffff).
-
getOsi7AdressLocCode
public java.lang.String getOsi7AdressLocCode()Liefert die KnotenNummer des Osi7Telegramms in der Darstellung "LocationCode-Distanz" (0-0 .. 65535-255).- Returns:
- KnotenNummer des Osi7Telegramms in der Darstellung "LocationCode-Distanz" (0-0 .. 65535-255).
-
getSender
public int getSender()Gibt den Absender des Telegramms zurück.- Returns:
- Absender des Telegramms.
-
getSingleTelegram
Gibt die Einzeltelgramme des Osi7Telegramms zurück.- Returns:
- Einzeltelegramme des Osi7Telegramms.
-
toString
public java.lang.String toString()Liefert die Darstellung eines Osi7Telegramms. Beispielausgabe:- Overrides:
toString
in classjava.lang.Object
- Returns:
- Osi7Telegramm dargestellt mit Basisinformationen und Gliederung in EinzelTelegramme und De-Blöcke.
-