com.independentsoft.exchange

## Class ItemChange

- java.lang.Object
- - com.independentsoft.exchange.ItemChange

-     public class ItemChange
      extends java.lang.Object

  Contains an item identifier and the updates to apply to the item.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ItemChange()` Initializes a new instance of the ItemChange class.
    `ItemChange(ItemId itemId)` Initializes a new instance of the ItemChange class.
    `ItemChange(ItemId itemId, java.util.List<Property> propertiesToSet)` Initializes a new instance of the ItemChange class.
    `ItemChange(ItemId itemId, java.util.List<Property> propertiesToSet, java.util.List<PropertyPath> propertiesToDelete)` Initializes a new instance of the ItemChange class.
    `ItemChange(ItemId itemId, java.util.List<Property> propertiesToSet, java.util.List<PropertyPath> propertiesToDelete, java.util.List<Property> propertiesToAppend)` Initializes a new instance of the ItemChange class.
    `ItemChange(ItemId itemId, Property propertyToSet)` Initializes a new instance of the ItemChange class.
    `ItemChange(ItemId itemId, PropertyPath propertyToDelete)` Initializes a new instance of the ItemChange class.
    `ItemChange(ItemId itemId, Property propertyToSet, Property propertyToAppend)` Initializes a new instance of the ItemChange class.
    `ItemChange(ItemId itemId, Property propertyToSet, PropertyPath propertyToDelete)` Initializes a new instance of the ItemChange class.
    `ItemChange(ItemId itemId, Property propertyToSet, PropertyPath propertyToDelete, Property propertyToAppend)` Initializes a new instance of the ItemChange class.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ItemId` | `getItemId()` Gets the unique identifier and change key of an item in the Exchange store.
    `java.util.List<Property>` | `getPropertiesToAppend()` Gets data to append to a single property of an item during an UpdateItem Operation.
    `java.util.List<PropertyPath>` | `getPropertiesToDelete()` Gets an operation to delete a given property from an item during an UpdateItem call.
    `java.util.List<Property>` | `getPropertiesToSet()` Gets an update to a single property of an item.
    `void` | `setItemId(ItemId itemId)` Sets the unique identifier and change key of an item in the Exchange store.
    `java.lang.String` | `toString()` Converts the value of the current ItemChange object to its equivalent string representation.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ItemChange

          public ItemChange()

      Initializes a new instance of the ItemChange class.

    - #### ItemChange

          public ItemChange(ItemId itemId)

      Initializes a new instance of the ItemChange class.
      Parameters:
        `itemId` - the item id

    - #### ItemChange

          public ItemChange(ItemId itemId,
                            Property propertyToSet)

      Initializes a new instance of the ItemChange class.
      Parameters:
        `itemId` - the item id
        `propertyToSet` - the property to set

    - #### ItemChange

          public ItemChange(ItemId itemId,
                            PropertyPath propertyToDelete)

      Initializes a new instance of the ItemChange class.
      Parameters:
        `itemId` - the item id
        `propertyToDelete` - the property to delete

    - #### ItemChange

          public ItemChange(ItemId itemId,
                            Property propertyToSet,
                            PropertyPath propertyToDelete)

      Initializes a new instance of the ItemChange class.
      Parameters:
        `itemId` - the item id
        `propertyToSet` - the property to set
        `propertyToDelete` - the property to delete

    - #### ItemChange

          public ItemChange(ItemId itemId,
                            Property propertyToSet,
                            Property propertyToAppend)

      Initializes a new instance of the ItemChange class.
      Parameters:
        `itemId` - the item id
        `propertyToSet` - the property to set
        `propertyToAppend` - the property to append

    - #### ItemChange

          public ItemChange(ItemId itemId,
                            Property propertyToSet,
                            PropertyPath propertyToDelete,
                            Property propertyToAppend)

      Initializes a new instance of the ItemChange class.
      Parameters:
        `itemId` - the item id
        `propertyToSet` - the property to set
        `propertyToDelete` - the property to delete
        `propertyToAppend` - the property to append

    - #### ItemChange

          public ItemChange(ItemId itemId,
                            java.util.List<Property> propertiesToSet)

      Initializes a new instance of the ItemChange class.
      Parameters:
        `itemId` - the item id
        `propertiesToSet` - the properties to set

    - #### ItemChange

          public ItemChange(ItemId itemId,
                            java.util.List<Property> propertiesToSet,
                            java.util.List<PropertyPath> propertiesToDelete)

      Initializes a new instance of the ItemChange class.
      Parameters:
        `itemId` - the item id
        `propertiesToSet` - the properties to set
        `propertiesToDelete` - the properties to delete

    - #### ItemChange

          public ItemChange(ItemId itemId,
                            java.util.List<Property> propertiesToSet,
                            java.util.List<PropertyPath> propertiesToDelete,
                            java.util.List<Property> propertiesToAppend)

      Initializes a new instance of the ItemChange class.
      Parameters:
        `itemId` - the item id
        `propertiesToSet` - the properties to set
        `propertiesToDelete` - the properties to delete
        `propertiesToAppend` - the properties to append

  - ### Method Detail

    - #### toString

          public java.lang.String toString()

      Converts the value of the current ItemChange object to its equivalent string representation.
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        the string

    - #### getItemId

          public ItemId getItemId()

      Gets the unique identifier and change key of an item in the Exchange store.
      Returns:
        the item id

    - #### setItemId

          public void setItemId(ItemId itemId)

      Sets the unique identifier and change key of an item in the Exchange store.
      Parameters:
        `itemId` - the new item id

    - #### getPropertiesToSet

          public java.util.List<Property> getPropertiesToSet()

      Gets an update to a single property of an item.
      Returns:
        the properties to set

    - #### getPropertiesToDelete

          public java.util.List<PropertyPath> getPropertiesToDelete()

      Gets an operation to delete a given property from an item during an UpdateItem call.
      Returns:
        the properties to delete

    - #### getPropertiesToAppend

          public java.util.List<Property> getPropertiesToAppend()

      Gets data to append to a single property of an item during an UpdateItem Operation.
      Returns:
        the properties to append