Change Results
Hermes returns a collection of change objects. The base object exposes the action enum, and each concrete subtype exposes the item values and positions that are meaningful for that action.
Result Model
Collection Changes
Collection detectors return CollectionItemChange instances.
The action enum is CollectionItemChangeAction.
| Action | Concrete type | Data available |
|---|---|---|
|
|
|
|
|
|
|
|
|
Collection detectors are position-independent. They do not report move operations.
List Changes
List detectors return ListItemChange instances.
The action enum is ListItemChangeAction.
| Action | Concrete type | Data available |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Interpreting List Positions
For ListItemChangeDetector and ComparableListItemChangeDetector, positions refer to the old or new snapshots:
-
removed changes use the item’s position in the old list
-
inserted changes use the item’s position in the new list
-
moved changes use the old and new list positions
-
updated changes use the item’s position in the new list
For SequentialListItemChangeDetector and ComparableSequentialListItemChangeDetector, positions are intended to be applied in returned order.
After you process one returned change, the next returned change’s position refers to the updated working list.