Class DeBlock

java.lang.Object
de.bsvrz.kex.tls.osi7.DeBlock

public class DeBlock
extends java.lang.Object
Verwaltungsobjekt für einen DeBlock
  • Constructor Summary

    Constructors 
    Constructor Description
    DeBlock​(TlsData deBlockData, int osi7Adress, int fg, int id)
    Erzeugt einen neues Objekt DeBlock aus den De-Block-Daten eines empfangen TLS-Telegramms.
    DeBlock​(TlsData deApplicationData, int osi7Adress, int fg, int typ, int id, int deChannel)
    Erzeugt einen neues Objekt DeBlock aus den Anwendungsdaten eines zum Versand zu erzeugenden De-Blocks.
  • Method Summary

    Modifier and Type Method Description
    int getDeChannel()
    Gibt die DE-Kanal-Nummer des DE-Blocks zurück.
    TlsData getDeData()
    Gibt die DE-Anwendungsdatenbytes des DE-Blocks zurück.
    java.lang.String getDescriptionKey()
    Liefert einen String auf Basis der Osi7Adresse, der De-Kanal-Nummer und der Funktionsgruppe als String.
    int getFg()
    Gibt die Funktionsgruppe der DE-Blöcke des Einzeltelgramms zurück.
    int getId()
    Gibt die ID des DE-Blocks zurück.
    java.lang.String getKey()
    Liefert einen Hashkey auf Basis der Osi7Adresse, der De-Kanal-Nummer und der Funktionsgruppe als String.
    java.lang.String getLongKey()
    Liefert einen Hashkey auf Basis der Osi7Adresse, der De-Kanal-Nummer, der Funktionsgruppe, des Typs und der Id als String.
    int getOsi7Adress()
    Liefert die KnotenNummer des Osi7Telegramms in Dezimaldarstellung (0..16777215).
    java.lang.String getOsi7AdressLocCode()
    Liefert die KnotenNummer des Osi7Telegramms in der Darstellung "LocationCode-Distanz" (0-0 .. 65535-255).
    byte[] getTlsDeDataBlock()
    Gibt einen De-Block gemäß TLS zurück.
    int getTyp()
    Gibt den Typ des DE-Blocks zurück.
    void setDeChannel​(int deChannel)
    Setzt die DE-Kanal-Nummer des DE-Blocks.
    java.lang.String toString()
    Ausgabe des De-Blocks mit Einzelinformationen und Anwendungsdaten Beispielausgabe:

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • DeBlock

      public DeBlock​(TlsData deBlockData, int osi7Adress, int fg, int id) throws IllegalOsi7TelegramStructureException
      Erzeugt einen neues Objekt DeBlock aus den De-Block-Daten eines empfangen TLS-Telegramms. Dazu werden die TLS-Byte eines empfangen De-Blocks (als TlsData Objekt gekapselt), die Fg und die Id des De-Block übergeben. Wird verwendet, um aus einem empfangenen Telegramm die De-Blöcke zu kapseln.
      Parameters:
      deBlockData - Die empfangen Tls-De-Block Daten als TlsData-Objekt
      osi7Adress - Knotennummer der De des De-Blocks (aus dem Osi7Telegram)
      fg - Funktionsgruppe dieses De-Blocks (aus dem Einzeltelegramm)
      id - Id dieses De-Blocks (aus dem Einzeltelegramm)
      Throws:
      IllegalOsi7TelegramStructureException - Wenn formaler Aufbau des De-Blocks nicht korrekt (i.d.R. De-Block zu kurz oder zu lang).
    • DeBlock

      public DeBlock​(TlsData deApplicationData, int osi7Adress, int fg, int typ, int id, int deChannel) throws IllegalOsi7TelegramStructureException
      Erzeugt einen neues Objekt DeBlock aus den Anwendungsdaten eines zum Versand zu erzeugenden De-Blocks. Dazu werden die Anwendungsdaten eines zu sendenden De-Blocks (also ohne die De-Block Headerinformationen) als TlsData Objekt gekapselt, die Fg, Id, der Typ und die De-Kanalnummer übergeben. Wird verwendet, um einen De-Block zum versenden zu erstellen.
      Parameters:
      deApplicationData - Die empfangen Tls-De-Block Daten als TlsData-Objekt
      osi7Adress - Knotennummer der De des De-Blocks (aus dem Osi7Telegram)
      fg - Funktionsgruppe dieses De-Blocks
      id - Id dieses De-Blocks
      typ - Typ dieses De-Blocks
      deChannel - DeKanalnummer des De-Blocks
      Throws:
      IllegalOsi7TelegramStructureException - Wenn formaler Aufbau des De-Blocks nicht korrekt (i.d.R. De-Block zu kurz oder zu lang).
  • Method Details

    • getDeChannel

      public int getDeChannel()
      Gibt die DE-Kanal-Nummer des DE-Blocks zurück.
      Returns:
      DE-Kanal-Nummer des DE-Blocks (0..255).
    • getDeData

      public TlsData getDeData()
      Gibt die DE-Anwendungsdatenbytes des DE-Blocks zurück.
      Returns:
      DE-Anwendungsdatenbytes des DE-Blocks.
    • getDescriptionKey

      public java.lang.String getDescriptionKey()
      Liefert einen String auf Basis der Osi7Adresse, der De-Kanal-Nummer und der Funktionsgruppe als String.
      Returns:
      String auf Basis der Osi7Adresse, der De-Kanal-Nummer und der Funktionsgruppe ("Osi7Adresse-DeNummer-FG", z.B. "51043-193-4").
    • getFg

      public int getFg()
      Gibt die Funktionsgruppe der DE-Blöcke des Einzeltelgramms zurück.
      Returns:
      Funktionsgruppe der DE-Blöcke des Einzeltelgramms (1..254).
    • getId

      public int getId()
      Gibt die ID des DE-Blocks zurück.
      Returns:
      ID des DE-Blocks (1..255).
    • getKey

      public java.lang.String getKey()
      Liefert einen Hashkey auf Basis der Osi7Adresse, der De-Kanal-Nummer und der Funktionsgruppe als String.
      Returns:
      Hashkey auf Basis der Osi7Adresse, der De-Kanal-Nummer und der Funktionsgruppe ("Osi7Adresse-DeNummer-FG", z.B. "51043-193-4").
    • getLongKey

      public java.lang.String getLongKey()
      Liefert einen Hashkey auf Basis der Osi7Adresse, der De-Kanal-Nummer, der Funktionsgruppe, des Typs und der Id als String.
      Returns:
      Hashkey auf Basis der Osi7Adresse, der De-Kanal-Nummer, der Funktionsgruppe, des Typs und der Id ("Osi7Adresse-DeNummer-FG-Typ-Id", z.B. "51043-193-4-29-2").
    • getOsi7Adress

      public int getOsi7Adress()
      Liefert die KnotenNummer des Osi7Telegramms in Dezimaldarstellung (0..16777215).
      Returns:
      KnotenNummer des Osi7Telegramms in Dezimaldarstellung (0..16777215)
    • 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).
    • getTlsDeDataBlock

      public byte[] getTlsDeDataBlock()
      Gibt einen De-Block gemäß TLS zurück.
      Returns:
      DE-Block als byte[] gemäß TLS.
                       Aufbau:
                       Byte[0] Länge des De-Blocks
                       Byte[2] Daten-Endgeräte
                       Byte[3] Typ der De-Daten
                       ----------------------------------------
                       Byte[4] 1. Anwendungsdatenbyte
                       .....
                       Byte[n] (n-3)-tes Anwendungsdatenbyte
                
    • getTyp

      public int getTyp()
      Gibt den Typ des DE-Blocks zurück.
      Returns:
      Typ des DE-Blocks (1..255).
    • setDeChannel

      public void setDeChannel​(int deChannel)
      Setzt die DE-Kanal-Nummer des DE-Blocks.
      Parameters:
      deChannel - Neue De-Kanalnummer für diesen DeBlock.
    • toString

      public java.lang.String toString()
      Ausgabe des De-Blocks mit Einzelinformationen und Anwendungsdaten Beispielausgabe:
       Knotennummer:1001 (256-1) DE:48 FG:6 Id:12 Typ:48 Länge:3
       00000000:  02 7F FF                                              ..ÿ
       
      Overrides:
      toString in class java.lang.Object
      Returns:
      String-Darstellung