Package com.independentsoft.graph.calendars

# Class Calendar

java.lang.Object
com.independentsoft.graph.calendars.Calendar

All Implemented Interfaces:
  `ICreatable`, `IUpdatable`

public class Calendar extends Object implements ICreatable, IUpdatable
Represents a calendar of a user or group in Microsoft Graph.

A Calendar is a container for events. A user can have multiple calendars, and each calendar has properties that control its appearance (such as color), permissions (such as whether it can be edited or shared), and the online meeting providers that can be used for its events.

Example usage:

     // Create a new calendar
     Calendar calendar = new Calendar();
     calendar.setName("Team Calendar");
     calendar.setColor(CalendarColor.LIGHT_BLUE);

Since:
  1.0
See Also:
  calendar resource type

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `canEdit()`
  `boolean`
  `canShare()`
  `boolean`
  `canViewPrivateItems()`
  `List<OnlineMeetingProvider>`
  `getAllowedOnlineMeetingProviders()`
  `String`
  `getChangeKey()`
  `CalendarColor`
  `getColor()`
  `OnlineMeetingProvider`
  `getDefaultOnlineMeetingProvider()`
  `String`
  `getHexColor()`
  `String`
  `getId()`
  `String`
  `getName()`
  `EmailAddress`
  `getOwner()`
  `boolean`
  `isDefaultCalendar()`
  `boolean`
  `isRemovable()`
  `boolean`
  `isShared()`
  `boolean`
  `isSharedWithMe()`
  `boolean`
  `isTallyingResponses()`
  `void`
  `setAsDefaultCalendar​(boolean isDefaultCalendar)`
  `void`
  `setAsRemovable​(boolean isRemovable)`
  `void`
  `setAsTallyingResponses​(boolean isTallyingResponses)`
  `void`
  `setColor​(CalendarColor color)`
  `void`
  `setDefaultOnlineMeetingProvider​(OnlineMeetingProvider defaultOnlineMeetingProvider)`
  `void`
  `setHexColor​(String hexColor)`
  `void`
  `setId​(String id)`
  `void`
  `setName​(String name)`
  `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

  - ### Calendar

    public Calendar()

  - ### Calendar

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

  - ### getChangeKey

    public String getChangeKey()

  - ### getAllowedOnlineMeetingProviders

    public List<OnlineMeetingProvider> getAllowedOnlineMeetingProviders()

  - ### canEdit

    public boolean canEdit()

  - ### canShare

    public boolean canShare()

  - ### canViewPrivateItems

    public boolean canViewPrivateItems()

  - ### getColor

    public CalendarColor getColor()

  - ### setColor

    public void setColor​(CalendarColor color)

  - ### getDefaultOnlineMeetingProvider

    public OnlineMeetingProvider getDefaultOnlineMeetingProvider()

  - ### setDefaultOnlineMeetingProvider

    public void setDefaultOnlineMeetingProvider​(OnlineMeetingProvider defaultOnlineMeetingProvider)

  - ### getHexColor

    public String getHexColor()

  - ### setHexColor

    public void setHexColor​(String hexColor)

  - ### isDefaultCalendar

    public boolean isDefaultCalendar()

  - ### setAsDefaultCalendar

    public void setAsDefaultCalendar​(boolean isDefaultCalendar)

  - ### isRemovable

    public boolean isRemovable()

  - ### setAsRemovable

    public void setAsRemovable​(boolean isRemovable)

  - ### isShared

    public boolean isShared()

  - ### isSharedWithMe

    public boolean isSharedWithMe()

  - ### isTallyingResponses

    public boolean isTallyingResponses()

  - ### setAsTallyingResponses

    public void setAsTallyingResponses​(boolean isTallyingResponses)

  - ### getName

    public String getName()

  - ### setName

    public void setName​(String name)

  - ### getOwner

    public EmailAddress getOwner()