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 the
remote sessions that are connected to the same
repository as the local 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. - At least one
topicis subscribed with this remote session manager. Force subscriptionistrue.
events to
registered listeners:
-
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 ClassesModifier and TypeInterfaceDescriptionstatic classA default adapter for all kinds ofremote sessionrelated events.static interfaceAneventthat 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 Object>, org.eclipse.net4j.util.container.IContainer.Persistable<E extends Object>, org.eclipse.net4j.util.container.IContainer.Persistence<E extends Object>Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier
org.eclipse.net4j.util.event.INotifier.INotifier2 -
Method Summary
Modifier and TypeMethodDescriptionReturns thelocal sessionthis CDORemoteSessionManager belongs to.Returns the set ofremote sessionsthat are connected to the same repository as thelocal session.Returns an array of the currently subscribedtopics.booleanReturnstrueif this CDORemoteSessionManager shall be subscribed to changes in the set of remote sessions and deliverscustom data eventseven if nolisteneris registered and notopicis subscribed,falseotherwise.booleanReturnstrueif this CDORemoteSessionManager is subscribed to changes in the set of remote sessions and deliverscustom data events,falseotherwise.sendMessage(CDORemoteSessionMessage message, Collection<CDORemoteSession> recipients) Same assendMessage(CDORemoteSessionMessage, CDORemoteSession...)but with a recipientscollection.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 and notopicis subscribed.subscribeTopic(String id) Subscribes to the topic identified by the givenid.Methods inherited from interface org.eclipse.net4j.util.container.IContainer
getElements, isEmptyMethods inherited from interface org.eclipse.net4j.util.event.INotifier
addListener, getListeners, hasListeners, removeListener
-
Method Details
-
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. - At least one
topicis subscribed with this remote session manager. Force subscriptionistrue.
- See Also:
-
INotifier.addListener(IListener)subscribeTopic(String)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 and notopicis subscribed,falseotherwise.- See Also:
-
INotifier.addListener(IListener)subscribeTopic(String)setForceSubscription(boolean)
-
setForceSubscription
void setForceSubscription(boolean forceSubscription) Enables or disables subscription to changes in the set of remote sessions even if nolisteneris registered and notopicis subscribed.- See Also:
-
INotifier.addListener(IListener)subscribeTopic(String)setForceSubscription(boolean)
-
sendMessage
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
Set<CDORemoteSession> sendMessage(CDORemoteSessionMessage message, Collection<CDORemoteSession> recipients) Same assendMessage(CDORemoteSessionMessage, CDORemoteSession...)but with a recipientscollection.- Since:
- 3.0
-
subscribeTopic
Subscribes to the topic identified by the givenid.- Returns:
- The subscribed
topic. - Since:
- 4.17
-
getSubscribedTopic
- Since:
- 4.19
-
getSubscribedTopics
CDORemoteTopic[] getSubscribedTopics()Returns an array of the currently subscribedtopics.- Since:
- 4.17
-