Interface CDORemoteTopic
- All Superinterfaces:
Comparable<CDORemoteTopic>
,org.eclipse.net4j.util.container.IContainer<CDORemoteSession>
,org.eclipse.net4j.util.event.INotifier
- All Known Subinterfaces:
InternalCDORemoteTopic
public interface CDORemoteTopic
extends org.eclipse.net4j.util.container.IContainer<CDORemoteSession>, Comparable<CDORemoteTopic>
A topic to that the
local session
and
remote sessions
can subscribe in order to receive events
about their participation
and the messages
that they send to the topic.
Use the CDORemoteSessionManager.subscribeTopic()
method to subscribe to a topic and the CDORemoteTopic.unsubscribe()
method
to unsubscribe from it.
Use the CDORemoteTopic.sendMessage()
method
to send a message to all subscribed remote sessions
.
This fires the following events
to registered
listeners:
-
IContainerEvent
withCDORemoteSession
as generic type argument to reflect subscribed or unsubscribed remote sessions. -
CDORemoteSessionEvent.MessageReceived
to deliver custom datasent
from other sessions.
- Since:
- 4.17
- 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/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 TypeMethodDescriptiongetID()
Returns theid
that identifies this topic.Returns the remote session manager that manages this remote topic.Returns an array of theremote sessions
that participate in this topic.boolean
sendMessage
(CDORemoteSessionMessage message) Sends the givenmessage
to all subscribedremote sessions
.void
Unsubscribes from this topic.Methods inherited from interface java.lang.Comparable
compareTo
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 Details
-
getManager
CDORemoteSessionManager getManager()Returns the remote session manager that manages this remote topic. -
getID
String getID()Returns theid
that identifies this topic. -
getRemoteSessions
CDORemoteSession[] getRemoteSessions()Returns an array of theremote sessions
that participate in this topic. -
sendMessage
Sends the givenmessage
to all subscribedremote sessions
.- 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!
-
isSubscribed
boolean isSubscribed() -
unsubscribe
void unsubscribe()Unsubscribes from this topic. All further calls toisSubscribed()
will returnfalse
.
-