Package com.independentsoft.graph.teams

# Class Chat

java.lang.Object
com.independentsoft.graph.teams.Chat

All Implemented Interfaces:
  `ICreatable`, `IUpdatable`

public class Chat extends Object implements ICreatable, IUpdatable
Represents a chat in Microsoft Teams.

A Chat is a collection of chat messages between one or more users. It can be a one-on-one chat, a group chat, or a meeting chat, as indicated by its `ChatType`. Group chats can have a topic and a set of members.

Example usage:

     // Create a new group chat
     Chat chat = new Chat();
     chat.setType(ChatType.GROUP);
     chat.setTopic("Project kickoff");

Since:
  1.0
See Also:
  chat resource type, `ChatMessage`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Chat()`
  `Chat​(JsonObject jsonObject)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Date`
  `getCreatedTime()`
  `String`
  `getId()`
  `List<TeamsApp>`
  `getInstalledApps()`
  `Date`
  `getLastUpdatedTime()`
  `List<ConversationMember>`
  `getMembers()`
  `TeamworkOnlineMeetingInfo`
  `getOnlineMeetingInfo()`
  `String`
  `getTenantId()`
  `String`
  `getTopic()`
  `ChatType`
  `getType()`
  `ChatViewpoint`
  `getViewpoint()`
  `String`
  `getWebUrl()`
  `void`
  `setTenantId​(String tenantId)`
  `void`
  `setTopic​(String topic)`
  `void`
  `setType​(ChatType type)`
  `void`
  `setViewpoint​(ChatViewpoint viewpoint)`
  `String`
  `toCreateJson()`
  Converts this object to its JSON representation for creation.
  `String`
  `toString()`
  `String`
  `toUpdateJson()`
  Converts this object to its JSON representation for update.
  `String`
  `toUpdateJson​(List<String> propertyNames)`
  Converts this object to JSON for update with specific properties.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### Chat

    public Chat()

  - ### Chat

    public Chat​(JsonObject jsonObject)

- ## Method Details

  - ### toCreateJson

    public String toCreateJson()
    Description copied from interface: `ICreatable`
    Converts this object to its JSON representation for creation.

    This method generates a JSON string containing all properties needed to create a new instance of this resource in Microsoft Graph. Only properties appropriate for creation should be included (e.g., excluding read-only properties like ID, createdTime, etc.).

    Specified by:
      `toCreateJson` in interface `ICreatable`
    Returns:
      JSON string representation for creating this resource

  - ### toUpdateJson

    public String toUpdateJson()
    Description copied from interface: `IUpdatable`
    Converts this object to its JSON representation for update.

    This method generates a JSON string containing all modified properties that should be updated in Microsoft Graph. Only writeable properties with non-null values are typically included.

    Specified by:
      `toUpdateJson` in interface `IUpdatable`
    Returns:
      JSON string representation for updating this resource

  - ### toUpdateJson

    public String toUpdateJson​(List<String> propertyNames)
    Description copied from interface: `IUpdatable`
    Converts this object to JSON for update with specific properties.

    This method generates a JSON string containing only the specified properties. This enables partial updates where only certain fields need to be modified, reducing payload size and avoiding unintended changes to other properties.

    Specified by:
      `toUpdateJson` in interface `IUpdatable`
    Parameters:
      `propertyNames` - List of property names to include in the JSON. If null or empty, all modified properties are included.
    Returns:
      JSON string representation for updating specific properties

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### getId

    public String getId()

  - ### getTopic

    public String getTopic()

  - ### setTopic

    public void setTopic​(String topic)

  - ### getCreatedTime

    public Date getCreatedTime()

  - ### getLastUpdatedTime

    public Date getLastUpdatedTime()

  - ### getType

    public ChatType getType()

  - ### setType

    public void setType​(ChatType type)

  - ### getViewpoint

    public ChatViewpoint getViewpoint()

  - ### setViewpoint

    public void setViewpoint​(ChatViewpoint viewpoint)

  - ### getWebUrl

    public String getWebUrl()

  - ### getTenantId

    public String getTenantId()

  - ### setTenantId

    public void setTenantId​(String tenantId)

  - ### getOnlineMeetingInfo

    public TeamworkOnlineMeetingInfo getOnlineMeetingInfo()

  - ### getMembers

    public List<ConversationMember> getMembers()

  - ### getInstalledApps

    public List<TeamsApp> getInstalledApps()