Class EakDefault

java.lang.Object
de.bsvrz.kex.tls.osi7.conversion.EakDefault
All Implemented Interfaces:
EakConversionInterface
Direct Known Subclasses:
EakFg254FunkKriWeissElectronic, EakHeuschBoesefeldt

public class EakDefault
extends java.lang.Object
implements EakConversionInterface
Standard-Umsetzungsmodul für Einzeltelegramme am Eak
  • Constructor Summary

    Constructors 
    Constructor Description
    EakDefault​(de.bsvrz.dav.daf.main.ClientDavInterface daf, Sm sm, Eak eak)
    Erzeugt eine neue Instanz von EakDefault
  • Method Summary

    Modifier and Type Method Description
    int getAxlCurrentNumber()
    Liefert die laufende Nummer des Datensatzes der Einzelergebnisdaten der FG2.
    int getAxlIntervalDuration()
    Liefert die IntervallDauer der Ergebnisdaten der FG2 in Sekunden.
    int getAxlTotalNumber()
    Liefert die Gesamtzahl Datensatzes der Einzelergebnisdaten der FG2.
    de.bsvrz.dav.daf.main.ClientDavInterface getClientDavInterface()
    Ermöglicht den Zugriff auf die aktuelle Datenverteilerverbindung.
    int getJobNumber()
    Liefert die Jobnummer des Einzeltelegramms.
    long getLveIntervalDuration()
    Liefert die IntervallDauer der Ergebnisdaten der FG1 in Sekunden.
    int getLveIntervalType()
    Liefert die IntervallArt der Ergebnisdaten der FG1.
    long getTimeStamp()
    Liefert den Zeitstempel für das Einzeltelegramm aller Funktionsgruppen.
    int getWzgNextSequenceNumber()
    Liefert die aktuelle Folgenummer der FG4.
    long getZfrIntervalDuration()
    Liefert die IntervallDauer der Ergebnisdaten der FG9 in Sekunden.
    int getZfrNextSequenceNumber()
    Liefert die aktuelle Folgenummer der FG9.
    void processSingleTelegram​(SingleTelegram singleTelegram)
    Verarbeitet ein EinzelTelegramm.
    protected void setTimeStamp​(int tlsYear, int tlsMonth, int tlsDay, int tlsHourAndDST, int tlsMinute, int tlsSecond, int tlsMillisecond)
    Ermittelt aus den übergebenen Zeitangaben eines TLS-Zeitstempel-DE-Blocks einen gültigen Zeitstempel und stellt das Ergebnis über die Methode getTimeStamp() zur Verfügung.
    protected void setTimeStamp​(long timeStamp)
    Setzt den Zeitstempel für das Einzeltelegramm aller Funktionsgruppen.

    Methods inherited from class java.lang.Object

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

    • EakDefault

      public EakDefault​(de.bsvrz.dav.daf.main.ClientDavInterface daf, Sm sm, Eak eak)
      Erzeugt eine neue Instanz von EakDefault
      Parameters:
      daf - Datenverteiler
      sm - Übergeordnetes SM
      eak - Das EAK
  • Method Details

    • getAxlCurrentNumber

      public int getAxlCurrentNumber()
      Liefert die laufende Nummer des Datensatzes der Einzelergebnisdaten der FG2. Entspricht dem Wert laufende Nummer des Datensatzes im Typ 31 der FG 2.
      Specified by:
      getAxlCurrentNumber in interface EakConversionInterface
      Returns:
      Laufende Nummer des Datensatzes.
    • getAxlIntervalDuration

      public int getAxlIntervalDuration()
      Liefert die IntervallDauer der Ergebnisdaten der FG2 in Sekunden. Entspricht dem Wert Intervalllänge im Typ 64 der FG 2.
      Specified by:
      getAxlIntervalDuration in interface EakConversionInterface
      Returns:
      IntervallDauer in Sekungen.
    • getAxlTotalNumber

      public int getAxlTotalNumber()
      Liefert die Gesamtzahl Datensatzes der Einzelergebnisdaten der FG2. Entspricht dem Wert Gesamtzahl der Datensätze im Typ 31 der FG 2.
      Specified by:
      getAxlTotalNumber in interface EakConversionInterface
      Returns:
      Gesamtzahl der Datensätze.
    • getClientDavInterface

      public de.bsvrz.dav.daf.main.ClientDavInterface getClientDavInterface()
      Ermöglicht den Zugriff auf die aktuelle Datenverteilerverbindung.
      Specified by:
      getClientDavInterface in interface EakConversionInterface
      Returns:
      Gibt das aktuelle aktuelle Datenverteilerverbindung zurück.
    • getJobNumber

      public int getJobNumber()
      Liefert die Jobnummer des Einzeltelegramms.
      Specified by:
      getJobNumber in interface EakConversionInterface
      Returns:
      Jobnummer für das Einzeltelegramm (0=spontan, 1..255=Antwort auf Telegramm mit dieser Jobnummer).
    • getLveIntervalDuration

      public long getLveIntervalDuration()
      Liefert die IntervallDauer der Ergebnisdaten der FG1 in Sekunden. Entspricht dem Wert Intervalllänge im Typ 48 und 64 der FG 1.
      Specified by:
      getLveIntervalDuration in interface EakConversionInterface
      Returns:
      IntervallDauer in Sekungen.
    • getLveIntervalType

      public int getLveIntervalType()
      Liefert die IntervallArt der Ergebnisdaten der FG1. Entspricht dem Wert Art des Intervalls im Typ 48 und 64 der FG 1.
      Specified by:
      getLveIntervalType in interface EakConversionInterface
      Returns:
      Intervalltyp: 1 = Kurzzeitdaten, 3 = streckenbezogene Daten
    • getTimeStamp

      public long getTimeStamp()
      Liefert den Zeitstempel für das Einzeltelegramm aller Funktionsgruppen. Der Wert ist die Zeitdifferenz zum 01.01.1970 (Mitternacht) in Millisekunden in der Zeitzone UTC.
      Specified by:
      getTimeStamp in interface EakConversionInterface
      Returns:
      Zeitstempel für das Einzeltelegramm.
    • getWzgNextSequenceNumber

      public int getWzgNextSequenceNumber()
      Liefert die aktuelle Folgenummer der FG4. Entspricht dem Wert Folgenummer im Typ 31 der FG 4.
      Specified by:
      getWzgNextSequenceNumber in interface EakConversionInterface
      Returns:
      Folgenummer der Datensätze.
    • getZfrIntervalDuration

      public long getZfrIntervalDuration()
      Liefert die IntervallDauer der Ergebnisdaten der FG9 in Sekunden. Entspricht dem Wert Intervalllänge im Typ 64 der FG 9.
      Specified by:
      getZfrIntervalDuration in interface EakConversionInterface
      Returns:
      IntervallDauer in Sekungen.
    • getZfrNextSequenceNumber

      public int getZfrNextSequenceNumber()
      Liefert die aktuelle Folgenummer der FG9. Entspricht dem Wert Folgenummer im Typ 31 der FG 9.
      Specified by:
      getZfrNextSequenceNumber in interface EakConversionInterface
      Returns:
      Folgenummer der Datensätze.
    • processSingleTelegram

      public void processSingleTelegram​(SingleTelegram singleTelegram)
      Verarbeitet ein EinzelTelegramm. Enthält das Einzeltelegramm als ersten De-Block einen De-Block für die DeKanalNummer 255, so werden die Informationen dieses Blocks hier durch das Eak ausgewertet (Zeitinformationen und Intervalldaten etc.). Die für das Einzeltelegramm ermittelten allgemeinen Information stehen dann in den Umsetzungsmodulen für die De allen De's des Einzeltelegramms zur Verfügung.
      Specified by:
      processSingleTelegram in interface EakConversionInterface
      Parameters:
      singleTelegram - Das zu verarbeitende Einzeltelegramm SingleTelegram.
    • setTimeStamp

      protected void setTimeStamp​(long timeStamp)
      Setzt den Zeitstempel für das Einzeltelegramm aller Funktionsgruppen. Der Wert ist die Zeitdifferenz zum 01.01.1970 (Mitternacht) in Millisekunden in der Zeitzone UTC.
      Parameters:
      timeStamp - Zeitdifferenz zum 01.01.1970 (Mitternacht) in Millisekunden in der Zeitzone UTC.
    • setTimeStamp

      protected void setTimeStamp​(int tlsYear, int tlsMonth, int tlsDay, int tlsHourAndDST, int tlsMinute, int tlsSecond, int tlsMillisecond)
      Ermittelt aus den übergebenen Zeitangaben eines TLS-Zeitstempel-DE-Blocks einen gültigen Zeitstempel und stellt das Ergebnis über die Methode getTimeStamp() zur Verfügung.
      Parameters:
      tlsYear - Jahr aus TLS-Telegramm oder -1. Angabe von -1 bedeutet, dass Wert aus aktuellem Rechnerdatum ermittelt wird. Angabe kann sowohl vierstellig (z. B. 2004), als auch ohne Jahrhundert erfolgen (z.B. 4). Im letzeren Fall wird der Wert automatisch auf 2004 angepasst (tlsYear + 2000, wenn 0 kleiner gleich tlsYear kleiner gleich 100, sonst tlsYear).
      tlsMonth - Monat aus TLS-Telegramm oder -1. Angabe von -1 bedeutet, dass Wert aus aktuellem Rechnerdatum ermittelt wird.
      tlsDay - Tag aus TLS-Telegramm oder -1. Angabe von -1 bedeutet, dass Wert aus aktuellem Rechnerdatum ermittelt wird.
      tlsHourAndDST - Stundenwert mit Sommerzeitbit aus TLS-Telegramm oder -1. Angabe von -1 bedeutet, dass Wert aus aktuellem Rechnerdatum ermittelt wird. Der übergebene Wert kann sowohl zu einer Anpassung aufgrund der Sommerzeit als auch bei Tageswechseln führen. Läuft der Rechner in Sommerzeit, die Streckensation aber nicht, wird der übergebene Wert um ein Stunde nach oben korrigiert. Läuft der Rechner auf Winterzeit aber die Streckenstation in Sommerzeit, wird entsprechend der übergebene Wert um eine Stunde nach unten korrigiert. Zudem wird der Tag korrigiert, wenn Telegramm vom Vortag erkannt wird, bzw. Streckenstation schon den Tageswechsel durchgeführt hat, der Rechner aber noch nicht. Die Korrektur des Tages erfolgt nur, wenn Jahr, Monat und Tag nicht vorgegeben wurden (alle drei Werte also auf -1).
      tlsMinute - Minute aus TLS-Telegramm oder -1. Angabe von -1 bedeutet, dass Wert aus aktuellem Rechnerdatum ermittelt wird.
      tlsSecond - Sekunde aus TLS-Telegramm oder -1. Angabe von -1 bedeutet, dass Wert aus aktuellem Rechnerdatum ermittelt wird.
      tlsMillisecond - Millisekunde aus TLS-Telegramm oder -1. Angabe von -1 bedeutet, dass Wert aus aktuellem Rechnerdatum ermittelt wird.