Package com.independentsoft.graph

# Class EmailAddress

java.lang.Object
com.independentsoft.graph.EmailAddress

All Implemented Interfaces:
  `ICreatable`, `IUpdatable`

public class EmailAddress extends Object implements ICreatable, IUpdatable
Represents an email address in Microsoft Graph.

The EmailAddress class encapsulates an email address and display name, commonly used for message recipients (To, Cc, Bcc), senders, and other email-related properties. This is a fundamental type used throughout the mail, calendar, and contact APIs.

Example usage:

     // Create an email address
     EmailAddress email = new EmailAddress();
     email.setAddress("john.doe@example.com");
     email.setName("John Doe");

     // Or use constructor
     EmailAddress email2 = new EmailAddress("jane@example.com", "Jane Smith");

     // Use in a message
     Message message = new Message();
     message.getToRecipients().add(email);
     message.getCcRecipients().add(email2);

Since:
  1.0
See Also:
  emailAddress resource type

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `EmailAddress()`
  Default constructor.
  `EmailAddress​(JsonObject jsonObject)`
  Constructs an EmailAddress from a JSON object.
  `EmailAddress​(String address)`
  Constructs an EmailAddress with the specified address.
  `EmailAddress​(String address, String name)`
  Constructs an EmailAddress with address and display name.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getAddress()`
  `String`
  `getName()`
  `void`
  `setAddress​(String address)`
  `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

  - ### EmailAddress

    public EmailAddress()
    Default constructor.

  - ### EmailAddress

    public EmailAddress​(String address)
    Constructs an EmailAddress with the specified address.
    Parameters:
      `address` - The email address (e.g., "user@example.com")

  - ### EmailAddress

    public EmailAddress​(String address, String name)
    Constructs an EmailAddress with address and display name.
    Parameters:
      `address` - The email address (e.g., "user@example.com")
      `name` - The display name (e.g., "John Doe")

  - ### EmailAddress

    public EmailAddress​(JsonObject jsonObject)
    Constructs an EmailAddress from a JSON object.
    Parameters:
      `jsonObject` - The JSON object containing email address data

- ## 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`

  - ### getAddress

    public String getAddress()

  - ### setAddress

    public void setAddress​(String address)

  - ### getName

    public String getName()

  - ### setName

    public void setName​(String name)