Interface CDORemoteSessionManager
-
- All Superinterfaces:
org.eclipse.net4j.util.container.IContainer<CDORemoteSession>,org.eclipse.net4j.util.event.INotifier
- All Known Subinterfaces:
InternalCDORemoteSessionManager
public interface CDORemoteSessionManager extends org.eclipse.net4j.util.container.IContainer<CDORemoteSession>
Provides collaborative access to theremote sessionsthat are connected to the same repository as thelocal session. A CDORemoteSessionManager can be subscribed or unsubscribed to changes in the set of remote sessions. It is subscribed if at least one is true:- At least one
listeneris registered with this remote session manager. Force subscriptionistrue.
eventstoregisteredlisteners:-
IContainerEventwithCDORemoteSessionas generic type argument to reflect opened or closed remote sessions. -
CDORemoteSessionEvent.SubscriptionChangedto reflect the ability of the remote session to receive and possibly handle remote messages from other sessions. -
CDORemoteSessionEvent.MessageReceivedto deliver custom datasentfrom other sessions .
- Since:
- 2.0
- Author:
- Eike Stepper
- No Implement
- This interface is not intended to be implemented by clients.
- No Extend
- This interface is not intended to be extended by clients.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classCDORemoteSessionManager.EventAdapterA default adapter for all kinds ofremote sessionrelated events.static interfaceCDORemoteSessionManager.LocalSubscriptionChangedEventAneventthat is fired by aremote session managerafter thesubscription modeof thelocal sessionchanged.-
Nested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer
org.eclipse.net4j.util.container.IContainer.Modifiable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistence<E extends java.lang.Object>
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CDOSessiongetLocalSession()Returns thelocal sessionthis CDORemoteSessionManager belongs to.CDORemoteSession[]getRemoteSessions()Returns the set ofremote sessionsthat are connected to the same repository as thelocal session.booleanisForceSubscription()Returnstrueif this CDORemoteSessionManager shall be subscribed to changes in the set of remote sessions and deliverscustom data eventseven if nolisteneris registered,falseotherwise.booleanisSubscribed()Returnstrueif this CDORemoteSessionManager is subscribed to changes in the set of remote sessions and deliverscustom data events,falseotherwise.java.util.Set<CDORemoteSession>sendMessage(CDORemoteSessionMessage message, java.util.Collection<CDORemoteSession> recipients)Same assendMessage(CDORemoteSessionMessage, CDORemoteSession...)but with a recipientscollection.java.util.Set<CDORemoteSession>sendMessage(CDORemoteSessionMessage message, CDORemoteSession... recipients)Sends a multicast message to the subscribed recipients.voidsetForceSubscription(boolean forceSubscription)Enables or disables subscription to changes in the set of remote sessions even if nolisteneris registered.
-
-
-
Method Detail
-
getLocalSession
CDOSession getLocalSession()
Returns thelocal sessionthis CDORemoteSessionManager belongs to.
-
getRemoteSessions
CDORemoteSession[] getRemoteSessions()
Returns the set ofremote sessionsthat are connected to the same repository as thelocal session. If this CDORemoteSessionManager itself issubscribedthe result is returned from a local cache for remote sessions, otherwise it is requested from the server each time this method is called.
-
isSubscribed
boolean isSubscribed()
Returnstrueif this CDORemoteSessionManager is subscribed to changes in the set of remote sessions and deliverscustom data events,falseotherwise. It is subscribed if at least one is true:- At least one
listeneris registered with this remote session manager. Force subscriptionistrue.
- See Also:
INotifier.addListener(IListener),setForceSubscription(boolean)
- At least one
-
isForceSubscription
boolean isForceSubscription()
Returnstrueif this CDORemoteSessionManager shall be subscribed to changes in the set of remote sessions and deliverscustom data eventseven if nolisteneris registered,falseotherwise.- See Also:
INotifier.addListener(IListener),setForceSubscription(boolean)
-
setForceSubscription
void setForceSubscription(boolean forceSubscription)
Enables or disables subscription to changes in the set of remote sessions even if nolisteneris registered.- See Also:
INotifier.addListener(IListener),setForceSubscription(boolean)
-
sendMessage
java.util.Set<CDORemoteSession> sendMessage(CDORemoteSessionMessage message, CDORemoteSession... recipients)
Sends a multicast message to the subscribed recipients.- Returns:
- The set of
recipientsthat the message has been forwarded to by the server. Note: No assumption must be made on whether a recipient session received the message and was able to handle it adequately! - Since:
- 3.0
-
sendMessage
java.util.Set<CDORemoteSession> sendMessage(CDORemoteSessionMessage message, java.util.Collection<CDORemoteSession> recipients)
Same assendMessage(CDORemoteSessionMessage, CDORemoteSession...)but with a recipientscollection.- Since:
- 3.0
-
-