Class RemoteReceiverSubscription

java.lang.Object
de.bsvrz.dav.dav.subscriptions.RemoteReceiverSubscription
All Implemented Interfaces:
ReceivingSubscription, RemoteReceivingSubscription, RemoteSubscription, Subscription

public class RemoteReceiverSubscription
extends java.lang.Object
implements RemoteReceivingSubscription
Anmeldung eines entfernten Empfängers auf diesen Datenverteiler (der möglicherweise Zentraldatenverteiler ist)
  • Constructor Summary

    Constructors
    Constructor Description
    RemoteReceiverSubscription​(SubscriptionsManager subscriptionsManager, TransmitterCommunicationInterface transmitterCommunication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo, java.util.Collection<java.lang.Long> transmitterIds)  
  • Method Summary

    Modifier and Type Method Description
    void addPotentialDistributor​(long transmitterId)  
    de.bsvrz.dav.daf.communication.protocol.UserLogin getAuthenticationState()
    Gibt die Id des angemeldeten Benutzers zurück.
    de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo getBaseSubscriptionInfo()
    Gibt die Objekt-Attributgruppenverwendung-Simulationsvariante-Kombination zurück, auf die diese Anmeldung stattfindet
    long getCentralDistributorId()
    Gibt die Zentraldatenverteiler-ID zurück.
    TransmitterCommunicationInterface getCommunication()
    Gibt die Schnittstelle zum Kommunikationspartner zurück, also z.B. eine T_A oder T_T-Verbindung
    ConnectionState getConnectionState()
    Gibt den Verbindungsstatus zum Kommunikationspartner zurück
    long getNodeId()
    Liefert die Id der anmeldenden Applikation bzw. des anmeldenden Datenverteilers (nicht zwingend der direkt verbundene Datenverteiler, sondern der Kommunikationspartner, der die Daten bereitstellt oder empfängt)
    java.util.Set<java.lang.Long> getPotentialDistributors()  
    de.bsvrz.dav.daf.main.ReceiveOptions getReceiveOptions()
    Gibt die Empfangsoptionen zurück, die der Empfänger bei der Anmeldung spezifiziert hat
    ReceiverState getState()
    Gibt den Status des Empfängers zurück
    boolean isAllowed()
    Gibt zurück, ob die Anmeldung von der lokalen Rechteprüfung erlaubt ist
    boolean isDrain()
    Gibt true zurück, wenn es sich um eine Senke handelt
    void removePotentialDistributor​(long transmitterId)  
    void sendDataTelegram​(de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram applicationDataTelegram, long applicationId)
    Sendet Daten an den Empfänger
    void sendStateTelegram​(ReceiverState receiverState)
    Sendet an einen Empfänger falls nötig im Falle eines geänderten Anmeldestatus einen leeren Datensatz mit dem entsprechenden Inhalt.
    void setPotentialDistributors​(java.util.Collection<java.lang.Long> value)  
    void setState​(ReceiverState receiverState, long centralTransmitterId)
    Setzt den Status des Empfängers
    java.lang.String toString()  
    void unsubscribe()
    Beendet die Datenanmeldung, sendet eventuelle Abmeldetelegramme

    Methods inherited from class java.lang.Object

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

    • RemoteReceiverSubscription

      public RemoteReceiverSubscription​(SubscriptionsManager subscriptionsManager, TransmitterCommunicationInterface transmitterCommunication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo, java.util.Collection<java.lang.Long> transmitterIds)
  • Method Details

    • isDrain

      public boolean isDrain()
      Description copied from interface: ReceivingSubscription
      Gibt true zurück, wenn es sich um eine Senke handelt
      Specified by:
      isDrain in interface ReceivingSubscription
      Returns:
      true, wenn es sich um eine Senke handelt, sonst (Empfänger) false
    • getReceiveOptions

      public de.bsvrz.dav.daf.main.ReceiveOptions getReceiveOptions()
      Description copied from interface: ReceivingSubscription
      Gibt die Empfangsoptionen zurück, die der Empfänger bei der Anmeldung spezifiziert hat
      Specified by:
      getReceiveOptions in interface ReceivingSubscription
      Returns:
      die Empfangsoptionen
    • sendDataTelegram

      public void sendDataTelegram​(de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram applicationDataTelegram, long applicationId)
      Description copied from interface: ReceivingSubscription
      Sendet Daten an den Empfänger
      Specified by:
      sendDataTelegram in interface ReceivingSubscription
      Parameters:
      applicationDataTelegram - Telegramm
      applicationId - oder -1 falls nicht bekannt
    • getState

      public ReceiverState getState()
      Description copied from interface: ReceivingSubscription
      Gibt den Status des Empfängers zurück
      Specified by:
      getState in interface ReceivingSubscription
      Returns:
      den Status des Empfängers
    • setState

      public void setState​(ReceiverState receiverState, long centralTransmitterId)
      Description copied from interface: ReceivingSubscription
      Setzt den Status des Empfängers
      Specified by:
      setState in interface ReceivingSubscription
      Parameters:
      receiverState - neuer Status
    • sendStateTelegram

      public void sendStateTelegram​(ReceiverState receiverState)
      Sendet an einen Empfänger falls nötig im Falle eines geänderten Anmeldestatus einen leeren Datensatz mit dem entsprechenden Inhalt.
      Specified by:
      sendStateTelegram in interface ReceivingSubscription
      Parameters:
      receiverState - Empfängerstatus
    • unsubscribe

      public void unsubscribe()
      Description copied from interface: Subscription
      Beendet die Datenanmeldung, sendet eventuelle Abmeldetelegramme
      Specified by:
      unsubscribe in interface Subscription
    • getBaseSubscriptionInfo

      public de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo getBaseSubscriptionInfo()
      Description copied from interface: Subscription
      Gibt die Objekt-Attributgruppenverwendung-Simulationsvariante-Kombination zurück, auf die diese Anmeldung stattfindet
      Specified by:
      getBaseSubscriptionInfo in interface Subscription
      Returns:
      BaseSubscriptionInfo
    • isAllowed

      public boolean isAllowed()
      Description copied from interface: Subscription
      Gibt zurück, ob die Anmeldung von der lokalen Rechteprüfung erlaubt ist
      Specified by:
      isAllowed in interface Subscription
      Returns:
    • getAuthenticationState

      public de.bsvrz.dav.daf.communication.protocol.UserLogin getAuthenticationState()
      Description copied from interface: Subscription
      Gibt die Id des angemeldeten Benutzers zurück. Liefert das gleiche wie getCommunication().getRemoteUserId()
      Specified by:
      getAuthenticationState in interface Subscription
      Returns:
      Id den angemeldeten Benutzers
    • getNodeId

      public long getNodeId()
      Description copied from interface: Subscription
      Liefert die Id der anmeldenden Applikation bzw. des anmeldenden Datenverteilers (nicht zwingend der direkt verbundene Datenverteiler, sondern der Kommunikationspartner, der die Daten bereitstellt oder empfängt)
      Specified by:
      getNodeId in interface Subscription
      Returns:
      Id der Applikation (bei T_A-Verbindungen) oder Id des Datenverteilers (bei T_T-Verbindungen)
    • getConnectionState

      public ConnectionState getConnectionState()
      Description copied from interface: Subscription
      Gibt den Verbindungsstatus zum Kommunikationspartner zurück
      Specified by:
      getConnectionState in interface Subscription
      Returns:
      Verbindugnsstatus
    • getCentralDistributorId

      public long getCentralDistributorId()
      Description copied from interface: Subscription
      Gibt die Zentraldatenverteiler-ID zurück. Nur sinnvoll bei Quelle/Senke-Anmeldungen. Ist der Zentraldatenverteiler unbekannt, wird -1 zurückgegeben.
      Specified by:
      getCentralDistributorId in interface Subscription
      Returns:
      die Zentraldatenverteiler-ID
    • getCommunication

      public TransmitterCommunicationInterface getCommunication()
      Description copied from interface: Subscription
      Gibt die Schnittstelle zum Kommunikationspartner zurück, also z.B. eine T_A oder T_T-Verbindung
      Specified by:
      getCommunication in interface RemoteSubscription
      Specified by:
      getCommunication in interface Subscription
      Returns:
      die Schnittstelle zum Kommunikationspartner
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • getPotentialDistributors

      public java.util.Set<java.lang.Long> getPotentialDistributors()
      Specified by:
      getPotentialDistributors in interface RemoteSubscription
    • setPotentialDistributors

      public void setPotentialDistributors​(java.util.Collection<java.lang.Long> value)
      Specified by:
      setPotentialDistributors in interface RemoteSubscription
    • addPotentialDistributor

      public void addPotentialDistributor​(long transmitterId)
      Specified by:
      addPotentialDistributor in interface RemoteSubscription
    • removePotentialDistributor

      public void removePotentialDistributor​(long transmitterId)
      Specified by:
      removePotentialDistributor in interface RemoteSubscription