Package com.avaya.clientservices.collaboration

## Interface CollaborationListener

-     public interface CollaborationListener

  CollaborationListener is registered as an observer of collaboration status update notifications.

  The client application is notified about status updates reported by the collaboration server through the CollaborationListener object. These updates may be the result of local operations on the `Collaboration` object as well as remote changes initiated by either the server or other users on the collaboration call.

  See Also:
    `Collaboration.addListener(CollaborationListener)`, `Collaboration.removeListener(CollaborationListener)`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `onCollaborationCapabilitiesChanged​(Collaboration collaboration)` | Called to report that the collaboration capabilities have changed, e.g., as a result of collaboration state change or other internal events.
    `void` | `onCollaborationEnded​(Collaboration collaboration)` | Reports that a collaboration instance and all of its channels (whiteboard, content sharing, library sharing, etc.) has been ended.
    `void` | `onCollaborationEndFailed​(Collaboration collaboration, CollaborationFailure collaborationFailure)` | Reports that ending a collaboration instance has failed.
    `void` | `onCollaborationEndSucceeded​(Collaboration collaboration)` | Reports that a collaboration instance has ended successfully.
    `void` | `onCollaborationGetParticipantsResult​(Collaboration collaboration, java.util.List<Participant> participants)` | Called to report that the collaboration retrieved participants list.
    `void` | `onCollaborationInitialized​(Collaboration collaboration)` | Reports that the collaboration has been initialized - all starting events were processed.
    `void` | `onCollaborationModeratorPrivilegeChanged​(Collaboration collaboration)` | Reports that the local user's moderator privilege was changed.
    `void` | `onCollaborationNearEndByEject​(Collaboration collaboration)` | Reports that the collaboration user will be ejected.
    `void` | `onCollaborationPresenterPrivilegeChanged​(Collaboration collaboration)` | Reports that the local user's presenter privilege was changed.
    `void` | `onCollaborationServiceAvailable​(Collaboration collaboration)` | Called when the collaboration session started and became available.
    `void` | `onCollaborationServiceUnavailable​(Collaboration collaboration)` | Called when the collaboration session became unavailable which can be caused by network disruption.
    `void` | `onCollaborationStarted​(Collaboration collaboration)` | Reports that a collaboration instance has started successfully.
    `void` | `onCollaborationStartFailed​(Collaboration collaboration, CollaborationFailure collaborationFailure)` | Reports that starting a collaboration instance has failed.
    `void` | `onCollaborationStartSucceeded​(Collaboration collaboration)` | Reports that a collaboration instance has started successfully.

- - ### Method Detail

    - #### onCollaborationStarted

          void onCollaborationStarted​(Collaboration collaboration)

      Reports that a collaboration instance has started successfully.
      Parameters:
        `collaboration` - collaboration object to session that just have started.

    - #### onCollaborationStartSucceeded

          void onCollaborationStartSucceeded​(Collaboration collaboration)

      Reports that a collaboration instance has started successfully.
      Parameters:
        `collaboration` - collaboration object to session that start succeeded.

    - #### onCollaborationStartFailed

          void onCollaborationStartFailed​(Collaboration collaboration,
                                          CollaborationFailure collaborationFailure)

      Reports that starting a collaboration instance has failed.
      Parameters:
        `collaboration` - collaboration object to session whose start failed.
        `collaborationFailure` - object represents failure of particular operation.

    - #### onCollaborationEnded

          void onCollaborationEnded​(Collaboration collaboration)

      Reports that a collaboration instance and all of its channels (whiteboard, content sharing, library sharing, etc.) has been ended.
      Parameters:
        `collaboration` - collaboration object whose session has ended.

    - #### onCollaborationEndSucceeded

          void onCollaborationEndSucceeded​(Collaboration collaboration)

      Reports that a collaboration instance has ended successfully.
      Parameters:
        `collaboration` - collaboration object whose session End succeeded.

    - #### onCollaborationEndFailed

          void onCollaborationEndFailed​(Collaboration collaboration,
                                        CollaborationFailure collaborationFailure)

      Reports that ending a collaboration instance has failed.
      Parameters:
        `collaboration` - collaboration object whose session End failed.
        `collaborationFailure` - object represents failure of particular operation.

    - #### onCollaborationServiceAvailable

          void onCollaborationServiceAvailable​(Collaboration collaboration)

      Called when the collaboration session started and became available.
      Collaboration can become available/unavailable in case of network disruptions within one collaboration call.
      Parameters:
        `collaboration` - collaboration object associated with current session.

    - #### onCollaborationServiceUnavailable

          void onCollaborationServiceUnavailable​(Collaboration collaboration)

      Called when the collaboration session became unavailable which can be caused by network disruption.
      It doesn't mean that collaboration session has ended.
      Parameters:
        `collaboration` - collaboration object associated with current session.

    - #### onCollaborationCapabilitiesChanged

          void onCollaborationCapabilitiesChanged​(Collaboration collaboration)

      Called to report that the collaboration capabilities have changed, e.g., as a result of collaboration state change or other internal events.
      Parameters:
        `collaboration` - collaboration object associated with current session.

    - #### onCollaborationGetParticipantsResult

          void onCollaborationGetParticipantsResult​(Collaboration collaboration,
                                                    java.util.List<Participant> participants)

      Called to report that the collaboration retrieved participants list.
      Parameters:
        `collaboration` - collaboration object associated with current session.
        `participants` - vector of returned participants list.

    - #### onCollaborationNearEndByEject

          void onCollaborationNearEndByEject​(Collaboration collaboration)

      Reports that the collaboration user will be ejected.
      Parameters:
        `collaboration` - collaboration object associated with current session.

    - #### onCollaborationPresenterPrivilegeChanged

          void onCollaborationPresenterPrivilegeChanged​(Collaboration collaboration)

      Reports that the local user's presenter privilege was changed.
      Parameters:
        `collaboration` - collaboration object associated with current session.

    - #### onCollaborationModeratorPrivilegeChanged

          void onCollaborationModeratorPrivilegeChanged​(Collaboration collaboration)

      Reports that the local user's moderator privilege was changed.
      Parameters:
        `collaboration` - collaboration object associated with current session.

    - #### onCollaborationInitialized

          void onCollaborationInitialized​(Collaboration collaboration)

      Reports that the collaboration has been initialized - all starting events were processed.
      Parameters:
        `collaboration` - collaboration object associated with current session.
      See Also:
        `Collaboration.isCollaborationInitialized()`