Package de.bsvrz.dav.dav.main
Interface SubscriptionsManager
- All Known Implementing Classes:
AbstractSubscriptionsManager,HighLevelSubscriptionsManager
public interface SubscriptionsManager
Klasse für die Verwaltung der Anmeldungen
-
Method Summary
Modifier and Type Method Description voidconnectToRemoteDrains(SubscriptionInfo subscriptionInfo, java.util.Set<java.lang.Long> distributorsToUse)Führt Anmeldungen bei potentiellen Zentraldatenverteilern auf eine Senke durchvoidconnectToRemoteSources(SubscriptionInfo subscriptionInfo, java.util.Set<java.lang.Long> distributorsToUse)Führt Anmeldungen bei potentiellen Zentraldatenverteilern auf eine Quelle durchTransmitterCommunicationInterfacegetBestConnectionToRemoteDav(long remoteDav)Gibt die beste Verbindung zum angegebenen Datenverteiler zurücklonggetCurrentDataIndex(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Gibt den aktuellen (zuletzt generierten) Datenindex für die angegebene Anmeldung zurücklonggetNextDataIndex(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Gibt den nächsten Datenindex für die angegebene Anmeldung zurück und zählt den Index entsprechend hochjava.util.List<java.lang.Long>getPotentialCentralDistributors(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Gibt zu einer Anmeldungen die potentiellen Zentraldatenverteiler zurückSubscriptionInfogetSubscriptionInfo(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Gibt zu einer baseSubscriptionInfo die zugehörige Anmeldungsinfo zurück.longgetThisTransmitterId()Gibt die eigene Dav-ID zurückvoidhandleTransmitterSubscriptionReceipt(TransmitterCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterSubscriptionType transmitterSubscriptionType, de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo, ConnectionState connectionState, long mainTransmitterId)behandelt eine Anmeldungsquittung von einem anderen DatenverteilerbooleanisActionAllowed(de.bsvrz.dav.daf.communication.protocol.UserLogin userLogin, de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo info, de.bsvrz.dav.daf.accessControl.internal.UserAction action)Führt eine allgemeine Rechteprüfung durchbooleanisActionAllowed(ApplicationCommunicationInterface application, de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo info, de.bsvrz.dav.daf.accessControl.internal.UserAction action)Führt eine Rechteprüfung bei einer lokalen Anmeldung durch.voidnotifyIsNewCentralDistributor(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Wird aufgerufen, wenn dieser Datenverteiler für eine Anmeldung Zentraldatenverteiler geworden ist, z.B. um die Anmeldelisten zu aktualisierenvoidnotifyWasCentralDistributor(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Wird aufgerufen, wenn dieser Datenverteiler für eine Anmeldung nicht mehr Zentraldatenverteiler ist, z.B. um die Anmeldelisten zu aktualisierenjava.lang.StringobjectToString(long objectId)Wandelt ein Objekt in darstellbaren Text umSubscriptionInfoopenExistingSubscriptionInfo(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Gibt zu einer baseSubscriptionInfo die zugehörige Anmeldungsinfo zurück.SubscriptionInfoopenSubscriptionInfo(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Gibt zu einer baseSubscriptionInfo die zugehörige Anmeldungsinfo zurück oder erstellt diese falls sie nicht existiert.voidremoveSubscriptionInfo(SubscriptionInfo subscriptionInfo)Entfernt eine Anmeldeinformation.java.lang.StringsubscriptionToString(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Wandlt eine Anmeldung in einen darstellbaren Text umvoidupdateDestinationRoute(long transmitterId, TransmitterCommunicationInterface oldConnection, TransmitterCommunicationInterface newConnection)Wird aufgerufen, wenn es zu einer Dav-id eine bessere Route gibt, sorgt für entsprechende Anmeldeumleitungen
-
Method Details
-
openSubscriptionInfo
SubscriptionInfo openSubscriptionInfo(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Gibt zu einer baseSubscriptionInfo die zugehörige Anmeldungsinfo zurück oder erstellt diese falls sie nicht existiert. Nachdem die Benutzung des Objekts beendet ist, mussSubscriptionInfo.close()aufgerufen werden, damit eventuelle Aufräumarbeiten erledigt werden können.- Parameters:
baseSubscriptionInfo- baseSubscriptionInfo- Returns:
- Anmeldungsklasse
-
openExistingSubscriptionInfo
SubscriptionInfo openExistingSubscriptionInfo(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Gibt zu einer baseSubscriptionInfo die zugehörige Anmeldungsinfo zurück. Nachdem die Benutzung des Objekts beendet ist, muss (sofern Rückgabewert != null)SubscriptionInfo.close()aufgerufen werden, damit eventuelle Aufräumarbeiten erledigt werden können.- Parameters:
baseSubscriptionInfo- baseSubscriptionInfo- Returns:
- Anmeldungsklasseoder null falls nicht existent
-
getSubscriptionInfo
SubscriptionInfo getSubscriptionInfo(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Gibt zu einer baseSubscriptionInfo die zugehörige Anmeldungsinfo zurück. Im Unterschied zu openExistingSubscriptionInfo wird das Objekt nicht für Anmeldungen geöffnet, es dürfen daher keine An-/Abmeldungen durchgeführt werden.- Parameters:
baseSubscriptionInfo- baseSubscriptionInfo- Returns:
- Anmeldungsklasse oder null falls zu dieser baseSubscriptionInfo keine Anmeldungsinfo vorliegt
-
isActionAllowed
boolean isActionAllowed(de.bsvrz.dav.daf.communication.protocol.UserLogin userLogin, de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo info, de.bsvrz.dav.daf.accessControl.internal.UserAction action)Führt eine allgemeine Rechteprüfung durch- Parameters:
userLogin- Benutzer-IDinfo- Anmeldeinfoaction- Aktion- Returns:
- true wenn die Aktion erlaubt ist, sonst false
-
isActionAllowed
boolean isActionAllowed(ApplicationCommunicationInterface application, de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo info, de.bsvrz.dav.daf.accessControl.internal.UserAction action)Führt eine Rechteprüfung bei einer lokalen Anmeldung durch. Hier werden weitere Besonderheiten geprüft, z. B. darf sich eine Applikation nur auf das eigene Applikationsobjekt anmelden, nicht auf fremde.- Parameters:
application- Applikationinfo- Anmeldeinfoaction- Aktion- Returns:
- true wenn die Aktion erlaubt ist, sonst false
-
notifyIsNewCentralDistributor
void notifyIsNewCentralDistributor(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Wird aufgerufen, wenn dieser Datenverteiler für eine Anmeldung Zentraldatenverteiler geworden ist, z.B. um die Anmeldelisten zu aktualisieren- Parameters:
baseSubscriptionInfo- Anmeldung
-
notifyWasCentralDistributor
void notifyWasCentralDistributor(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Wird aufgerufen, wenn dieser Datenverteiler für eine Anmeldung nicht mehr Zentraldatenverteiler ist, z.B. um die Anmeldelisten zu aktualisieren- Parameters:
baseSubscriptionInfo- Anmeldung
-
getPotentialCentralDistributors
java.util.List<java.lang.Long> getPotentialCentralDistributors(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Gibt zu einer Anmeldungen die potentiellen Zentraldatenverteiler zurück- Parameters:
baseSubscriptionInfo- Anmeldung- Returns:
- Zentraldatenverteiler-IDs
-
getBestConnectionToRemoteDav
Gibt die beste Verbindung zum angegebenen Datenverteiler zurück- Parameters:
remoteDav- Datenverteiler-ID- Returns:
- die beste Verbindung zum angegebenen Datenverteiler
-
removeSubscriptionInfo
Entfernt eine Anmeldeinformation. Es dürfen beim Aufruf dieser Methode keine Anmeldungen mehr bestehen.- Parameters:
subscriptionInfo- Anmeldeinformation
-
connectToRemoteDrains
void connectToRemoteDrains(SubscriptionInfo subscriptionInfo, java.util.Set<java.lang.Long> distributorsToUse)Führt Anmeldungen bei potentiellen Zentraldatenverteilern auf eine Senke durch- Parameters:
subscriptionInfo- AnmeldeinformationdistributorsToUse- Liste mit zu berücksichtigenden potentiellen Zentraldatenverteilern
-
connectToRemoteSources
void connectToRemoteSources(SubscriptionInfo subscriptionInfo, java.util.Set<java.lang.Long> distributorsToUse)Führt Anmeldungen bei potentiellen Zentraldatenverteilern auf eine Quelle durch- Parameters:
subscriptionInfo- AnmeldeinformationdistributorsToUse- Liste mit zu berücksichtigenden potentiellen Zentraldatenverteilern
-
subscriptionToString
java.lang.String subscriptionToString(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Wandlt eine Anmeldung in einen darstellbaren Text um- Parameters:
baseSubscriptionInfo- Anmeldung- Returns:
- Text
-
objectToString
java.lang.String objectToString(long objectId)Wandelt ein Objekt in darstellbaren Text um- Parameters:
objectId- Objekt- Returns:
- Text
-
getThisTransmitterId
long getThisTransmitterId()Gibt die eigene Dav-ID zurück- Returns:
- die eigene Dav-ID
-
handleTransmitterSubscriptionReceipt
void handleTransmitterSubscriptionReceipt(TransmitterCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterSubscriptionType transmitterSubscriptionType, de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo, ConnectionState connectionState, long mainTransmitterId)behandelt eine Anmeldungsquittung von einem anderen Datenverteiler- Parameters:
communication- Verbindung zum anderen DavtransmitterSubscriptionType- Art der Anmeldung (Sender/Empfänger)baseSubscriptionInfo- AnmeldeinformationconnectionState- Rückmeldung des anderen Datenverteilers (Zuständig, nicht zuständig, etc.)mainTransmitterId- Zentraldatenverteiler-ID sofern verfügbar
-
updateDestinationRoute
void updateDestinationRoute(long transmitterId, TransmitterCommunicationInterface oldConnection, TransmitterCommunicationInterface newConnection)Wird aufgerufen, wenn es zu einer Dav-id eine bessere Route gibt, sorgt für entsprechende Anmeldeumleitungen- Parameters:
transmitterId- Dav-IdoldConnection- Alte VerbindungnewConnection- Neue bessere Verbindung
-
getNextDataIndex
long getNextDataIndex(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Gibt den nächsten Datenindex für die angegebene Anmeldung zurück und zählt den Index entsprechend hoch- Parameters:
baseSubscriptionInfo- Anmeldung- Returns:
- Datenindex
-
getCurrentDataIndex
long getCurrentDataIndex(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)Gibt den aktuellen (zuletzt generierten) Datenindex für die angegebene Anmeldung zurück- Parameters:
baseSubscriptionInfo- Anmeldung- Returns:
- Datenindex
-