Package com.independentsoft.graph

# Interface IUpdatable

All Known Implementing Classes:
  `AadUserConversationMember`, `AppHostedMediaConfig`, `AssignedLicense`, `Attendee`, `AutomaticRepliesSettings`, `AzureCommunicationServicesUserIdentity`, `BooleanColumn`, `BroadcastMeetingCaptionSettings`, `BroadcastMeetingSettings`, `CalculatedColumn`, `Calendar`, `CalendarGroup`, `Channel`, `ChannelModerationSettings`, `Chart`, `Chat`, `ChatInfo`, `ChatMessage`, `ChatMessageAttachment`, `ChatMessageHostedContent`, `ChatMessageMention`, `ChatMessagePolicyViolation`, `ChatMessagePolicyViolationPolicyTip`, `ChoiceColumn`, `Column`, `ColumnDefinition`, `CommunicationsApplicationIdentity`, `CommunicationsApplicationInstanceIdentity`, `CommunicationsEncryptedIdentity`, `CommunicationsGuestIdentity`, `CommunicationsIdentitySet`, `CommunicationsPhoneIdentity`, `CommunicationsUserIdentity`, `Contact`, `ContactFolder`, `ContentType`, `ConversationMember`, `CurrencyColumn`, `CustomTimeZone`, `DateTimeColumn`, `DateTimeTimeZone`, `DaylightTimeZoneOffset`, `DefaultColumnValue`, `EmailAddress`, `Event`, `EventMessage`, `FollowupFlag`, `GeolocationColumn`, `Group`, `InferenceClassificationOverride`, `InternetMessageHeader`, `InvitationParticipantInfo`, `ItemBody`, `JoinMeetingIdSettings`, `List`, `ListInfo`, `ListItem`, `LocaleInfo`, `Location`, `LookupColumn`, `MailboxFolder`, `MailboxSettings`, `MailFolder`, `MediaConfig`, `MediaInfo`, `MediaPrompt`, `MeetingParticipantInfo`, `MeetingParticipants`, `Message`, `MessageRule`, `MessageRuleActions`, `MessageRulePredicates`, `NumberColumn`, `OnlineMeeting`, `OnPremisesExtensionAttributes`, `OutlookCategory`, `OutlookGeoCoordinates`, `ParticipantInfo`, `PasswordProfile`, `PersonOrGroupColumn`, `Phone`, `PhysicalAddress`, `PlannerBucket`, `PlannerCategoryDescriptions`, `PlannerPlan`, `PlannerPlanContainer`, `PlannerPlanDetails`, `PlannerTask`, `PlannerTaskDetails`, `PublicationProperties`, `Recurrence`, `RecurrencePattern`, `RecurrenceRange`, `Room`, `RoomList`, `ServiceHostedMediaConfig`, `SharingLink`, `SitePage`, `StandardTimeZoneOffset`, `Subscription`, `Team`, `TeamClassSettings`, `TeamDiscoverySettings`, `TeamFunSettings`, `TeamGuestSettings`, `TeamMemberSettings`, `TeamMessagingSettings`, `TextColumn`, `TimeZoneBase`, `TodoTask`, `TodoTaskList`, `User`, `Website`, `WorkingHours`

public interface IUpdatable
Interface for resources that can be updated in Microsoft Graph API.

This interface is implemented by resource classes that support update operations (PATCH requests) through the Microsoft Graph API. Implementing classes must provide methods to generate their JSON representation for update requests, with optional support for partial updates.

Resources implementing this interface can be updated using the GraphClient's update methods, which serialize the modified properties to JSON and send them to the appropriate Microsoft Graph API endpoint.

Since:
  1.0
See Also:
  `ICreatable`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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.

- ## Method Details

  - ### toUpdateJson

    String toUpdateJson()
    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.

    Returns:
      JSON string representation for updating this resource

  - ### toUpdateJson

    String toUpdateJson​(List<String> propertyNames)
    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.

    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