Package de.bsvrz.dav.dav.main
Class ConnectionMap<T extends ServerHighLevelCommunication>
- java.lang.Object
-
- de.bsvrz.dav.dav.main.ConnectionMap<T>
-
- Direct Known Subclasses:
ApplicationConnectionMap,TransmitterConnectionMap
public class ConnectionMap<T extends ServerHighLevelCommunication> extends java.lang.ObjectEine Map von ID zu Verbindung
-
-
Constructor Summary
Constructors Constructor Description ConnectionMap()
-
Method Summary
Modifier and Type Method Description voidaddUnsortedConnection(T communication)Fügt eine Verbindung hinzu, deren ID unbekannt istvoidclear()java.util.Collection<T>getAllConnections()Gibt alle bekannten (typischerweise aktiven) Verbindungen zurück.TgetConnection(long id)Gibt die Verbindung zum Datenverteiler mit der angegebenen ID zurückvoidputConnection(long id, T communication)Merkt sich die angegebene Verbindung unter der angegebenen ID.booleanremoveConnection(long id, T communication)Entfernt eine Verbindung (zum Beispiel weil diese geschlossen wurde)booleanremoveConnection(T communication)Entfernt eine Verbindung (zum Beispiel weil diese geschlossen wurde)java.lang.StringtoString()
-
-
-
Method Detail
-
getConnection
public T getConnection(long id)
Gibt die Verbindung zum Datenverteiler mit der angegebenen ID zurück- Parameters:
id- Datenverteiler-ID- Returns:
- die Verbindung zum Datenverteiler mit der angegebenen ID, oder
nullfalls nicht vorhanden
-
addUnsortedConnection
public void addUnsortedConnection(T communication)
Fügt eine Verbindung hinzu, deren ID unbekannt ist- Parameters:
communication- Verbindung
-
putConnection
public void putConnection(long id, T communication)Merkt sich die angegebene Verbindung unter der angegebenen ID. Die ID wird separat übergeben, daServerHighLevelCommunication.getId()die verbundene ID erst zurückliefert, wenn die Authentifizierung ausreichend abgeschlossen wurde. Für ausgehende Verbindungen wird der Datenverteiler mit der erwarteten ID sofort eingetragen, damit die Verbindung immer der konfigurierten Verbindung zugeordnet werden kann. (Sollte die ID später nicht der erwarteten ID entsprechen, muss das OutgoingTransmitterConnections.updateId(T_T_HighLevelCommunication) korrigiert werden}. Besteht berets eine Verbindung mit dieser ID, wird diese überschrieben.- Parameters:
id- IDcommunication- Verbindung
-
removeConnection
public boolean removeConnection(long id, T communication)Entfernt eine Verbindung (zum Beispiel weil diese geschlossen wurde)- Parameters:
id- ID der Verbindungcommunication- zu entfernende Verbindung unter dieser ID (wenn die gespeicherte Verbindung unter dieser ID nicht dem parameter entspricht, tut diese Methode nichts. Damit wird verhindert, dass die falsche Verbindung entfernt wird)- Returns:
- true falls erfolgreich entfernt, sonst false
-
removeConnection
public boolean removeConnection(T communication)
Entfernt eine Verbindung (zum Beispiel weil diese geschlossen wurde)- Parameters:
communication- zu entfernende Verbindung unter dieser ID (wenn die gespeicherte Verbindung unter dieser ID nicht dem parameter entspricht, tut diese Methode nichts. Damit wird verhindert, dass die falsche Verbindung entfernt wird)- Returns:
- true falls erfolgreich entfernt, sonst false
-
getAllConnections
public java.util.Collection<T> getAllConnections()
Gibt alle bekannten (typischerweise aktiven) Verbindungen zurück. Diese Methode erzeugt einen nicht änderbaren, Schnappschuss über den iteriert werden kann, ohne dasConcurrentModificationExceptions auftreten können.- Returns:
- alle aktiven Verbindungen
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
clear
public void clear()
-
-