com.vaadin.collaborationengine.

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.