Package com.avaya.clientservices.call

## Interface Chat

-     public interface Chat

  The Chat object provides access to conference chat related capabilities and actions.

  The Chat object is accessible via `Conference` and `Collaboration`. Client is notified about status updates concerning conference chat via `ChatListener` object.

  See Also:
    `Conference`, `Collaboration`, `ChatListener`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addListener​(ChatListener listener)` | Adds a new listener to the in-conference chat session.
    `java.util.List<ChatMessage>` | `getAllMessages()` | Returns all messages sent or received.
    `void` | `getChatParticipants​(ParticipantsCompletionHandler handler)` | Returns chat participants.
    `java.util.List<ChatMessage>` | `getPrivateMessages()` | Returns all private messages sent or received.
    `java.util.List<ChatMessage>` | `getPublicMessages()` | Returns all public messages sent or received.
    `void` | `removeListener​(ChatListener listener)` | Removes a listener from the in-conference chat.
    `void` | `sendPrivateMessage​(Participant recipient, java.lang.String message, SendMessageCompletionHandler handler)` | Sends a private chat message to the selected recipient.
    `void` | `sendPublicMessage​(java.lang.String message, SendMessageCompletionHandler handler)` | Sends a chat message to everyone on the conference call.

- - ### Method Detail

    - #### addListener

          void addListener​(ChatListener listener)

      Adds a new listener to the in-conference chat session.
      Parameters:
        `listener` - New chat listener that is being added.

    - #### removeListener

          void removeListener​(ChatListener listener)

      Removes a listener from the in-conference chat.
      Parameters:
        `listener` - Listener instance that is removed from the chat.

    - #### sendPrivateMessage

          void sendPrivateMessage​(Participant recipient,
                                  java.lang.String message,
                                  SendMessageCompletionHandler handler)

      Sends a private chat message to the selected recipient.
      Parameters:
        `recipient` - participant who is going to receive the message.
        `message` - the text of the message to send.
        `handler` - Object that wants to learn about the result of the operation, i.e., whether it was successful.

    - #### sendPublicMessage

          void sendPublicMessage​(java.lang.String message,
                                 SendMessageCompletionHandler handler)

      Sends a chat message to everyone on the conference call.
      Parameters:
        `message` - the text of the message to send.
        `handler` - Object that wants to learn about the result of the operation, i.e., whether it was successful.

    - #### getAllMessages

          java.util.List<ChatMessage> getAllMessages()

      Returns all messages sent or received. Updates to the message list (add, remove or update) are reported through the `ChatListener.onChatAllMessagesChanged(Chat, DataCollectionChangeType, List)` listener callback registered with the chat object.
      Returns:
        The list of all messages associated with the chat object.
      See Also:
        `getPublicMessages()`, `getPrivateMessages()`

    - #### getPublicMessages

          java.util.List<ChatMessage> getPublicMessages()

      Returns all public messages sent or received. Updates to the message list (add, remove or update) are reported through the `ChatListener.onChatPublicMessagesChanged(Chat, DataCollectionChangeType, List)` listener callback registered with the chat object.
      Returns:
        The list of public messages associated with the chat object.
      See Also:
        `getAllMessages()`, `getPrivateMessages()`

    - #### getPrivateMessages

          java.util.List<ChatMessage> getPrivateMessages()

      Returns all private messages sent or received. Updates to the message list (add, remove or update) are reported through the `ChatListener.onChatPrivateMessagesChanged(Chat, DataCollectionChangeType, List)` listener callback registered with the chat object.
      Returns:
        The list of private messages associated with the chat object.
      See Also:
        `getAllMessages()`, `getPublicMessages()`

    - #### getChatParticipants

          void getChatParticipants​(ParticipantsCompletionHandler handler)

      Returns chat participants.
      Parameters:
        `handler` - Object that wants to learn about the result of the operation, i.e., whether it was successful.