de.bsvrz.dav.daf.main.impl.config.request.telegramManager
Interface SenderReceiverCommunication

All Known Implementing Classes:
AbstractSenderReceiverCommunication, ConfigurationRequestArea, ConfigurationRequestReadData, ConfigurationRequestUserAdministration, ConfigurationRequestWriteData

public interface SenderReceiverCommunication

Dieses Interface emöglicht eine Kommunikation mit einem Sender und einem Empfänger. Der Sender verschickt Aufträge und empfängt dann die Antworten auf diese Aufträge.

Author:
Kappich Systemberatung

Nested Class Summary
static class SenderReceiverCommunication.ConnectionState
          Diese Klasse spiegelt die Verbindung einer Sende/Quelle-Anmeldung wieder.
 
Method Summary
 void close()
          Schließt alle geöffneten Verbindungen und beendet mögliche Threads
 SenderReceiverCommunication.ConnectionState getConnectionState()
          Diese Methode gibt den derzeitigen Zustand einer Anmeldung als Sender/Quelle wieder.
 int sendData(String messageType, byte[] data)
          Verschickt eine Anfrage vom angegeben Typ und mit dem in einem Byte Array angegebenen serialisierten Inhalt, die Methode gibt ohne zu blockieren eine neue Anfragenummer zurück.
 void sendData(String messageType, byte[] data, int queryIndex)
          Verschickt eine Antwort vom angegeben Typ zu einer Anfrage.
 void setMutableCollectionChangeListener(MutableCollectionChangeListener notifyingMutableCollectionChangeListener)
          Setzt den Listener zur Verarbeitung und Verteilung von Aktualisierungsnachrichten bzgl.
 Data waitForReply(int reqestIndex)
          Stellt die Antwort auf eine Anfrage zur Verfügung
 

Method Detail

sendData

int sendData(String messageType,
             byte[] data)
             throws SendSubscriptionNotConfirmed,
                    IllegalStateException
Verschickt eine Anfrage vom angegeben Typ und mit dem in einem Byte Array angegebenen serialisierten Inhalt, die Methode gibt ohne zu blockieren eine neue Anfragenummer zurück. Die Antwort kann mit waitForReply(int) abgerufen werden.

Parameters:
messageType - Anfragetyp
data - Daten Serialiserte Anfragedaten.
Returns:
Index, der benötigt wird um die Antwort auf eine Anfrage zu abzufragen.
Throws:
SendSubscriptionNotConfirmed - Wenn noch keine positive Sendesteuerung vom Datenverteiler für die zu versendenden Daten vorliegt
IllegalStateException - Die Daten können versendet werden, aber die Antwort kann nicht empfangen werden, da für den empfang der Daten nicht die benötigten Rechte vorhanden sind. Aus diesem Grund werden die Daten nicht verschickt.

sendData

void sendData(String messageType,
              byte[] data,
              int queryIndex)
              throws SendSubscriptionNotConfirmed,
                     IllegalStateException
Verschickt eine Antwort vom angegeben Typ zu einer Anfrage.

Parameters:
messageType - Antworttyp
data - Daten Serialiserte Anfragedaten.
queryIndex - Index der zugehörigen Anfrage
Throws:
SendSubscriptionNotConfirmed - Wenn noch keine positive Sendesteuerung vom Datenverteiler für die zu versendenden Daten vorliegt
IllegalStateException - Die Daten können versendet werden, aber die Antwort kann nicht empfangen werden, da für den empfang der Daten nicht die benötigten Rechte vorhanden sind. Aus diesem Grund werden die Daten nicht verschickt.

waitForReply

Data waitForReply(int reqestIndex)
                  throws RequestException
Stellt die Antwort auf eine Anfrage zur Verfügung

Parameters:
reqestIndex - Index, der bei der Methode sendData(java.lang.String, byte[]) als Rückgabeparameter zurückgegeben wurde
Returns:
Antwort auf eine Anfrage
Throws:
RequestException - Wenn die Kommunikation zum Datenverteiler unterbrochen wurde.

close

void close()
Schließt alle geöffneten Verbindungen und beendet mögliche Threads


getConnectionState

SenderReceiverCommunication.ConnectionState getConnectionState()
Diese Methode gibt den derzeitigen Zustand einer Anmeldung als Sender/Quelle wieder.

Returns:
derzeitiger Zustand der Verbindung

setMutableCollectionChangeListener

void setMutableCollectionChangeListener(MutableCollectionChangeListener notifyingMutableCollectionChangeListener)
Setzt den Listener zur Verarbeitung und Verteilung von Aktualisierungsnachrichten bzgl. Änderungen der Elemente von dynamischen Mengen bzw. dynamischen Typen.

Parameters:
notifyingMutableCollectionChangeListener - Listener zur Verarbeitung und Verteilung von Aktualisierungsnachrichten.