Property change notification
A Property Change notification is emitted by the API to report
changes to the properties of a managed object where the data model
description indicates that modification notification support (qualifier pc
)
is available for that property.
Characteristic | Description |
---|---|
Destination | The per-session object notification topic for each API session that is authorized to receive the notification. |
In addition to the common JMS message headers described above, the following additional message properties are provided to allow for message selection:
Message property name | Description |
---|---|
notification-type | Contains the value "property-change". |
property-names | Blank-separated list of the names of the properties for which change reports are provided in the body of this notification message. The list always includes a leading and trailing blank so that a property name can be specified as a blank-delimited word in a message selector to avoid matching unintended properties that have the desired property name as a substring. |
The body of a Property Change notification message is a JSON representation of an object that contains the following fields and values:
Field name | Type | Description |
---|---|---|
change-reports | Array of objects | An array of nested change-report objects, the format of which is described in the next table. The order in which these objects appear in this array reflects the temporal order in which the changes occurred. |
Each nested change-report object has the following fields and values:
Field name | Type | Description |
---|---|---|
property-name | String | The name of the property (as specified in the object's data model) that has changed. |
old-value | Based on model | If the property is not a container-type or write-only property, this field contains the old (previous) value of the
property for the object. The value of this field will be of the data type indicated for this
property in the object's data model. If the property is a container-type property (i.e. marked with the (c) qualifier), this field does not provide the complete previous value. Rather, it provides an array of entries that have been removed from the value of the container property. The value of these entries will be of the data type indicated for the property in the object's data model. If no entries have been removed, null is provided. If the property is a write-only property (i.e. marked with the (wo) qualifier), this field does not provide the value of the property. Rather, this field always contains null. |
new-value | Based on model | If the property is not a container-type or write-only property, this field contains the new (current) value of the
property for the object. The value of this field will be of the data type indicated for this
property in the object's data model. If the property is a container-type property (i.e. marked with the (c) qualifier), this field does not provide the complete new value. Rather, it provides an array of entries that have been added to the value of the container property. The value of these entries will be of the data type indicated for the property in the object's data model. If no entries have been added, null is provided. If the property is a write-only property (i.e. marked with the (wo) qualifier), this field does not provide the value of the property. Rather, this field always contains null. |