Class Subscription

java.lang.Object
com.independentsoft.graph.changenotifications.Subscription
All Implemented Interfaces:
ICreatable, IUpdatable

public class Subscription extends Object implements ICreatable, IUpdatable
Represents a subscription for change notifications in Microsoft Graph.

A Subscription allows a client app to receive change notifications about changes to data in Microsoft Graph. It identifies the resource to monitor, the types of changes to notify on, the notification endpoint, and the time the subscription expires.

Example usage:

 // Subscribe to new messages
 Subscription subscription = new Subscription();
 subscription.setResource("me/messages");
 subscription.setNotificationUrl("https://example.com/notifications");
 subscription.setClientState("secretClientState");
 
Since:
1.0
See Also:
subscription resource type
  • Constructor Details

    • Subscription

      public Subscription()
    • Subscription

      public Subscription(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
    • getApplicationId

      public String getApplicationId()
    • setApplicationId

      public void setApplicationId(String applicationId)
    • getChangeTypes

      public List<ChangeType> getChangeTypes()
    • getClientState

      public String getClientState()
    • setClientState

      public void setClientState(String clientState)
    • getCreatorId

      public String getCreatorId()
    • getEncryptionCertificate

      public String getEncryptionCertificate()
    • setEncryptionCertificate

      public void setEncryptionCertificate(String encryptionCertificate)
    • getEncryptionCertificateId

      public String getEncryptionCertificateId()
    • setEncryptionCertificateId

      public void setEncryptionCertificateId(String encryptionCertificateId)
    • getExpirationTime

      public Date getExpirationTime()
    • setExpirationTime

      public void setExpirationTime(Date expirationTime)
    • getId

      public String getId()
    • setId

      public void setId(String id)
    • isIncludeResourceData

      public boolean isIncludeResourceData()
    • setIncludeResourceData

      public void setIncludeResourceData(boolean includeResourceData)
    • getLatestSupportedTlsVersion

      public LatestSupportedTlsVersion getLatestSupportedTlsVersion()
    • setLatestSupportedTlsVersion

      public void setLatestSupportedTlsVersion(LatestSupportedTlsVersion latestSupportedTlsVersion)
    • getLifecycleNotificationUrl

      public String getLifecycleNotificationUrl()
    • setLifecycleNotificationUrl

      public void setLifecycleNotificationUrl(String lifecycleNotificationUrl)
    • getNotificationContentType

      public String getNotificationContentType()
    • setNotificationContentType

      public void setNotificationContentType(String notificationContentType)
    • getNotificationUrl

      public String getNotificationUrl()
    • setNotificationUrl

      public void setNotificationUrl(String notificationUrl)
    • getResource

      public String getResource()
    • setResource

      public void setResource(String resource)