org.eclipse.emf.cdo.session.remote
Interface CDORemoteSessionManager

All Superinterfaces:
IContainer<CDORemoteSession>, INotifier
All Known Subinterfaces:
InternalCDORemoteSessionManager

public interface CDORemoteSessionManager
extends 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:

  1. At least one listener is registered with this remote session manager.
  2. Force subscription is true.
If this remote session manager is subscribed it eventually fires the following events to registered listeners:

Since:
2.0
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
static class CDORemoteSessionManager.EventAdapter
          A default adapter for all kinds of remote session related events.
static interface CDORemoteSessionManager.LocalSubscriptionChangedEvent
          An event that is fired by a remote session manager after the subscription mode of the local session changed.
 
Nested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer
IContainer.Modifiable<E>
 
Method Summary
 CDOSession getLocalSession()
          Returns the local session this CDORemoteSessionManager belongs to.
 CDORemoteSession[] getRemoteSessions()
          Returns the set of remote sessions that are connected to the same repository as the local session.
 boolean isForceSubscription()
          Returns true if this CDORemoteSessionManager shall be subscribed to changes in the set of remote sessions and delivers custom data events even if no listener is registered, false otherwise.
 boolean isSubscribed()
          Returns true if this CDORemoteSessionManager is subscribed to changes in the set of remote sessions and delivers custom data events, false otherwise.
 Set<CDORemoteSession> sendMessage(CDORemoteSessionMessage message, CDORemoteSession... recipients)
          Sends a multicast message to the subscribed recipients.
 Set<CDORemoteSession> sendMessage(CDORemoteSessionMessage message, Collection<CDORemoteSession> recipients)
          Same as sendMessage(CDORemoteSessionMessage, CDORemoteSession...) but with a recipients collection.
 void setForceSubscription(boolean forceSubscription)
          Enables or disables subscription to changes in the set of remote sessions even if no listener is registered.
 
Methods inherited from interface org.eclipse.net4j.util.container.IContainer
getElements, isEmpty
 
Methods inherited from interface org.eclipse.net4j.util.event.INotifier
addListener, getListeners, hasListeners, removeListener
 

Method Detail

getLocalSession

CDOSession getLocalSession()
Returns the local session this CDORemoteSessionManager belongs to.


getRemoteSessions

CDORemoteSession[] getRemoteSessions()
Returns the set of remote sessions that are connected to the same repository as the local session. If this CDORemoteSessionManager itself is subscribed the 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()
Returns true if this CDORemoteSessionManager is subscribed to changes in the set of remote sessions and delivers custom data events, false otherwise. It is subscribed if at least one is true:
  1. At least one listener is registered with this remote session manager.
  2. Force subscription is true.

See Also:
INotifier.addListener(IListener), setForceSubscription(boolean)

isForceSubscription

boolean isForceSubscription()
Returns true if this CDORemoteSessionManager shall be subscribed to changes in the set of remote sessions and delivers custom data events even if no listener is registered, false otherwise.

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 no listener is registered.

See Also:
INotifier.addListener(IListener), setForceSubscription(boolean)

sendMessage

Set<CDORemoteSession> sendMessage(CDORemoteSessionMessage message,
                                  CDORemoteSession... recipients)
Sends a multicast message to the subscribed recipients.

Returns:
The set of recipients that 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 as sendMessage(CDORemoteSessionMessage, CDORemoteSession...) but with a recipients collection.

Since:
3.0


Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.