AlertItem
Date: 2016-06-25

org.osgi.service.dmt.notification

## Class AlertItem

- java.lang.Object
- - org.osgi.service.dmt.notification.AlertItem

-     public class AlertItem
      extends java.lang.Object

  Immutable data structure carried in an alert (client initiated notification). The `AlertItem` describes details of various notifications that can be sent by the client, for example as alerts in the OMA DM protocol. The use cases include the client sending a session request to the server (alert 1201), the client notifying the server of completion of a software update operation (alert 1226) or sending back results in response to an asynchronous EXEC command.

  The data syntax and semantics varies widely between various alerts, so does the optionality of particular parameters of an alert item. If an item, such as source or type, is not defined, the corresponding getter method returns `null`. For example, for alert 1201 (client-initiated session) all elements will be `null`.

  The syntax used in `AlertItem` class corresponds to the OMA DM alert format. `NotificationService` implementations on other management protocols should map these constructs to the underlying protocol.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AlertItem(java.lang.String[] source, java.lang.String type, java.lang.String mark, DmtData data)` Create an instance of the alert item, specifying the source node URI as an array of path segments.
    `AlertItem(java.lang.String source, java.lang.String type, java.lang.String mark, DmtData data)` Create an instance of the alert item.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `DmtData` | `getData()` Get the data associated with the alert item.
    `java.lang.String` | `getMark()` Get the mark parameter associated with the alert item.
    `java.lang.String` | `getSource()` Get the node which is the source of the alert.
    `java.lang.String` | `getType()` Get the type associated with the alert item.
    `java.lang.String` | `toString()` Returns the string representation of this alert item.

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

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

- - ### Constructor Detail

    - #### AlertItem

          public AlertItem(java.lang.String source,
                   java.lang.String type,
                   java.lang.String mark,
                   DmtData data)

      Create an instance of the alert item. The constructor takes all possible data entries as parameters. Any of these parameters can be `null`. The semantics of the parameters may be refined by the definition of a specific alert, identified by its alert code (see `NotificationService.sendNotification(String, int, String, AlertItem[])` ). In case of Generic Alerts for example (code 1226), the `mark` parameter contains a severity string.
      Parameters:
        `source` - the URI of the node which is the source of the alert item
        `type` - a MIME type or a URN that identifies the type of the data in the alert item
        `data` - a `DmtData` object that contains the format and value of the data in the alert item
        `mark` - the mark parameter of the alert item

    - #### AlertItem

          public AlertItem(java.lang.String[] source,
                   java.lang.String type,
                   java.lang.String mark,
                   DmtData data)

      Create an instance of the alert item, specifying the source node URI as an array of path segments. The constructor takes all possible data entries as parameters. Any of these parameters can be `null`. The semantics of the parameters may be refined by the definition of a specific alert, identified by its alert code (see `NotificationService.sendNotification(String, int, String, AlertItem[])` ). In case of Generic Alerts for example (code 1226), the `mark` parameter contains a severity string.
      Parameters:
        `source` - the path of the node which is the source of the alert item
        `type` - a MIME type or a URN that identifies the type of the data in the alert item
        `data` - a `DmtData` object that contains the format and value of the data in the alert item
        `mark` - the mark parameter of the alert item

  - ### Method Detail

    - #### getSource

          public java.lang.String getSource()

      Get the node which is the source of the alert. There might be no source associated with the alert item.
      Returns:
        the URI of the node which is the source of this alert, or `null` if there is no source

    - #### getType

          public java.lang.String getType()

      Get the type associated with the alert item. The type string is a MIME type or a URN that identifies the type of the data in the alert item (returned by `getData()`). There might be no type associated with the alert item.
      Returns:
        the type associated with the alert item, or `null` if there is no type

    - #### getMark

          public java.lang.String getMark()

      Get the mark parameter associated with the alert item. The interpretation of the mark parameter depends on the alert being sent, as identified by the alert code in `NotificationService.sendNotification(String, int, String, AlertItem[])` . There might be no mark associated with the alert item.
      Returns:
        the mark associated with the alert item, or `null` if there is no mark

    - #### getData

          public DmtData getData()

      Get the data associated with the alert item. The returned `DmtData` object contains the format and the value of the data in the alert item. There might be no data associated with the alert item.
      Returns:
        the data associated with the alert item, or `null` if there is no data

    - #### toString

          public java.lang.String toString()

      Returns the string representation of this alert item. The returned string includes all parameters of the alert item, and has the following format:

             AlertItem(<source>, <type>, <mark>, <data>)

      The last parameter is the string representation of the data value. The format of the data is not explicitly included.
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        the string representation of this alert item