Class AbstractCollaborationManager

  • Direct Known Subclasses:
    MessageManager

    public abstract class AbstractCollaborationManager
    extends Object
    The common abstract superclass of Collaboration Managers.
    Author:
    Vaadin Ltd
    • Constructor Detail

      • AbstractCollaborationManager

        protected AbstractCollaborationManager​(UserInfo localUser,
                                               String topicId,
                                               CollaborationEngine collaborationEngine)
        Constructs a new manager instance.
        Parameters:
        localUser - the local user, not null
        topicId - the topic id, not null
        collaborationEngine - the Collaboration Engine instance, not null
    • Method Detail

      • openTopicConnection

        protected void openTopicConnection​(ConnectionContext context,
                                           SerializableFunction<TopicConnection,​Registration> connectionActivationCallback)
        Opens a connection to the topic of this manager using the provided context and activation callback.
        Parameters:
        context - the connection context, not null
        connectionActivationCallback - the callback to be executed when a connection is activated, not null
      • setActivationHandler

        public void setActivationHandler​(AbstractCollaborationManager.ActivationHandler handler)
        Sets an handler that will be executed when the manager is activated, i.e. the connection to the topic is established.
        Parameters:
        handler - the handler, null to remove an existing handler
      • getLocalUser

        public UserInfo getLocalUser()
        Gets the local user of this manager.
        Returns:
        the local user, not null
      • getTopicId

        public String getTopicId()
        Gets the topic id of this manager.
        Returns:
        the topic id, not null
      • close

        public void close()
        Closes the manager connection to the topic. This is typically handled automatically by the connection-context and in most cases is not needed to be done explicitly, e.g. with ComponentConnectionContext when the component is detached.