com.avaya.ccs.api

## Interface MonitoredUserListenerI

-     public interface MonitoredUserListenerI

  An implementing instance of the `MonitoredUserListenerI` interface delivers `MonitoredUserI` level events to the application.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `onMonitoredUserEvent(NotificationEventI<MonitoredUserI> monitoredUserEvent)` This method delivers a `NotificationEventI` object which contains a `NotificationType`, the object that is being updated (`MonitoredUserI`), an optional `ErrorI` object and an optional `ResponseData` object.

- - ### Method Detail

    - #### onMonitoredUserEvent

          void onMonitoredUserEvent(NotificationEventI<MonitoredUserI> monitoredUserEvent)

      This method delivers a `NotificationEventI` object which contains a `NotificationType`, the object that is being updated (`MonitoredUserI`), an optional `ErrorI` object and an optional `ResponseData` object.

      A `NotificationType.NEW` notification indicates that a new `MonitoredUserI` object has been created and is available via `UserI.getMonitoredUsers()` if required. A `NotificationType.UPDATE` notification indicates that properties of the specified `MonitoredUserI` instance has been modified and the newly supplied `MonitoredUserI` object represents a complete update of the object.

      A `NotificationType.DELETE` notification indicates that the `UserI` represented by the `MonitoredUserI` object has been removed from the system or has been removed from their current supervisor. The majority of API methods will throw an `ObjectInvalidException` if invoked after the `MonitoredUserI` object has been deleted. However a small set of API methods for retrieving specific properties are available for the client application after the `MonitoredUserI` object has been deleted. If an API method is accessible after object deletion it will be specified in the API documentation. The client application must discontinue use of the identified `MonitoredUserI` object. The application must also null out all references it holds to the deleted `MonitoredUserI` object along with all references it holds to `MonitoredInteractionI` objects that were obtained from this `MonitoredUserI` object. This is to ensure that garbage collection of the deleted objects can occur. On monitored user deletion, `NotificationType.DELETE` notifications will also be sent to the application for `MonitoredInteractionI` objects obtained from the monitored user.

      An `NotificationType.ERROR` notification indicates the failure of a `MonitoredUserI` method call made by the client application on the specified `MonitoredUserI` instance. The accompanying `ErrorI` object provides details as to the cause of the error. A `NotificationType.RESPONSE` notification indicates that a response has been received for an `MonitoredUserI` method that has requested data from the server. The response notifications will have a `ResponseData` object containing the data that was requested.

      The CCS API executes this event listener method in the context of the CCS API processing threads. On receiving a notification event, the application must immediately switch executing context from the CCS API processing threads and move processing of the event to application threads.

      Parameters:
        `monitoredUserEvent` - an event containing a `MonitoredUserI` notification