Package com.independentsoft.graph.teams

# Class Channel

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

All Implemented Interfaces:
  `ICreatable`, `IUpdatable`

public class Channel extends Object implements ICreatable, IUpdatable
Represents a channel in a team in Microsoft Teams.

A Channel is a logical group within a `Team` where conversations and shared files take place. A channel can be standard, private, or shared, as indicated by its membership type.

Example usage:

     // Create a new channel
     Channel channel = new Channel();
     channel.setDisplayName("Release Planning");
     channel.setDescription("Coordinate the next release");
     channel.setMembershipType(ChannelMembershipType.STANDARD);

Since:
  1.0
See Also:
  channel resource type, `Team`

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Date`
  `getCreatedTime()`
  `String`
  `getDescription()`
  `String`
  `getDisplayName()`
  `String`
  `getEmail()`
  `String`
  `getId()`
  `ChannelMembershipType`
  `getMembershipType()`
  `ChannelModerationSettings`
  `getModerationSettings()`
  `String`
  `getTenantId()`
  `String`
  `getWebUrl()`
  `boolean`
  `isArchived()`
  `boolean`
  `isFavoriteByDefault()`
  `void`
  `setDescription​(String description)`
  `void`
  `setDisplayName​(String displayName)`
  `void`
  `setEmail​(String email)`
  `void`
  `setFavoriteByDefault​(boolean isFavoriteByDefault)`
  `void`
  `setMembershipType​(ChannelMembershipType membershipType)`
  `void`
  `setModerationSettings​(ChannelModerationSettings moderationSettings)`
  `void`
  `setTenantId​(String tenantId)`
  `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

  - ### Channel

    public Channel()

  - ### Channel

    public Channel​(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()

  - ### getDescription

    public String getDescription()

  - ### setDescription

    public void setDescription​(String description)

  - ### getDisplayName

    public String getDisplayName()

  - ### setDisplayName

    public void setDisplayName​(String displayName)

  - ### isFavoriteByDefault

    public boolean isFavoriteByDefault()

  - ### setFavoriteByDefault

    public void setFavoriteByDefault​(boolean isFavoriteByDefault)

  - ### getEmail

    public String getEmail()

  - ### setEmail

    public void setEmail​(String email)

  - ### getWebUrl

    public String getWebUrl()

  - ### getMembershipType

    public ChannelMembershipType getMembershipType()

  - ### setMembershipType

    public void setMembershipType​(ChannelMembershipType membershipType)

  - ### isArchived

    public boolean isArchived()

  - ### getCreatedTime

    public Date getCreatedTime()

  - ### getModerationSettings

    public ChannelModerationSettings getModerationSettings()

  - ### setModerationSettings

    public void setModerationSettings​(ChannelModerationSettings moderationSettings)

  - ### getTenantId

    public String getTenantId()

  - ### setTenantId

    public void setTenantId​(String tenantId)