Package com.independentsoft.graph.mails

# Class MailFolder

java.lang.Object
com.independentsoft.graph.mails.MailFolder

All Implemented Interfaces:
  `ICreatable`, `IUpdatable`

public class MailFolder extends Object implements ICreatable, IUpdatable
Represents a folder in a user's mailbox in Microsoft Graph.

A MailFolder is a container for messages and other mail folders, such as the Inbox or Drafts folder. It exposes counts of total and unread items, the parent folder, and – for well-known folders – the corresponding `StandardMailboxFolder`.

Example usage:

     // Create a new mail folder
     MailFolder folder = new MailFolder();
     folder.setDisplayName("Project X");

Since:
  1.0
See Also:
  mailFolder resource type

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MailFolder()`
  `MailFolder​(JsonObject jsonObject)`
  `MailFolder​(String displayName)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getChildFolderCount()`
  `String`
  `getDisplayName()`
  `String`
  `getId()`
  `String`
  `getParentFolderId()`
  `StandardMailboxFolder`
  `getStandardFolder()`
  `int`
  `getTotalItemCount()`
  `int`
  `getUnreadItemCount()`
  `void`
  `setDisplayName​(String displayName)`
  `void`
  `setId​(String id)`
  `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

  - ### MailFolder

    public MailFolder()

  - ### MailFolder

    public MailFolder​(String displayName)

  - ### MailFolder

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

  - ### setId

    public void setId​(String id)

  - ### getDisplayName

    public String getDisplayName()

  - ### setDisplayName

    public void setDisplayName​(String displayName)

  - ### getChildFolderCount

    public int getChildFolderCount()

  - ### getParentFolderId

    public String getParentFolderId()

  - ### getTotalItemCount

    public int getTotalItemCount()

  - ### getUnreadItemCount

    public int getUnreadItemCount()

  - ### getStandardFolder

    public StandardMailboxFolder getStandardFolder()