Class AlarmData

java.lang.Object
org.osgi.service.dal.FunctionData
org.osgi.service.dal.functions.data.AlarmData
All Implemented Interfaces:
Comparable<Object>

public class AlarmData extends FunctionData
Function alarm data. It cares about the alarm type, severity, timestamp and additional metadata. It doesn't support unit. The alarm type is mapped to FunctionData value.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Represents the severity field name.
    static final String
    Represents the type field name.
    static final int
    The severity rating indicates that there a critical alarm.
    static final int
    The severity rating indicates that there is a major alarm.
    static final int
    The severity rating indicates that there is a minor alarm.
    static final int
    The severity constant indicates that there is no severity rating for this alarm.
    static final int
    The alarm type indicates that there is access control issue.
    static final int
    The alarm type indicates that there is a burglar notification.
    static final int
    The alarm type indicates that temperature is too low.
    static final int
    The alarm type indicates that carbon monoxide (CO) is detected.
    static final int
    The alarm type indicates that carbon dioxide (CO2) is detected.
    static final int
    The alarm type indicates that there is hardware failure.
    static final int
    The alarm type indicates that temperature is too high.
    static final int
    The alarm type indicates a power cut.
    static final int
    The alarm type indicates that smoke is detected.
    static final int
    The alarm type indicates that there is software failure.
    static final int
    The alarm type for a tamper indication.
    static final int
    The alarm type indicates that the type is not specified.
    static final int
    The alarm type indicates that a water leak is detected.

    Fields inherited from class org.osgi.service.dal.FunctionData

    DESCRIPTION, FIELD_METADATA, FIELD_TIMESTAMP
  • Constructor Summary

    Constructors
    Constructor
    Description
    AlarmData(long timestamp, Map<String,?> metadata, int severity, int type)
    Constructs new AlarmData instance with the specified arguments.
    AlarmData(Map<String,?> fields)
    Constructs new AlarmData instance with the specified field values.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Compares this AlarmData instance with the given argument.
    boolean
    Two AlarmData instances are equal if they contain equal metadata, timestamp, type and severity.
    int
    Returns the alarm severity.
    int
    Returns the alarm type.
    int
    Returns the hash code for this AlarmData object.
    Returns the string representation of this alarm data.

    Methods inherited from class org.osgi.service.dal.FunctionData

    getMetadata, getTimestamp

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • FIELD_SEVERITY

      public static final String FIELD_SEVERITY
      Represents the severity field name. The field value is available with getSeverity(). The field type is int. The constant can be used as a key to AlarmData(Map) .
      See Also:
    • FIELD_TYPE

      public static final String FIELD_TYPE
      Represents the type field name. The field value is available with getType(). The field type is int. The constant can be used as a key to AlarmData(Map).
      See Also:
    • TYPE_UNDEFINED

      public static final int TYPE_UNDEFINED
      The alarm type indicates that the type is not specified.
      See Also:
    • TYPE_ACCESS_CONTROL

      public static final int TYPE_ACCESS_CONTROL
      The alarm type indicates that there is access control issue. For example, the alarm can indicate that the door is unlocked.
      See Also:
    • TYPE_BURGLAR

      public static final int TYPE_BURGLAR
      The alarm type indicates that there is a burglar notification. For example, the alarm can indicate that the glass is broken.
      See Also:
    • TYPE_COLD

      public static final int TYPE_COLD
      The alarm type indicates that temperature is too low.
      See Also:
    • TYPE_GAS_CO

      public static final int TYPE_GAS_CO
      The alarm type indicates that carbon monoxide (CO) is detected.
      See Also:
    • TYPE_GAS_CO2

      public static final int TYPE_GAS_CO2
      The alarm type indicates that carbon dioxide (CO2) is detected.
      See Also:
    • TYPE_HEAT

      public static final int TYPE_HEAT
      The alarm type indicates that temperature is too high.
      See Also:
    • TYPE_HARDWARE_FAIL

      public static final int TYPE_HARDWARE_FAIL
      The alarm type indicates that there is hardware failure.
      See Also:
    • TYPE_POWER_FAIL

      public static final int TYPE_POWER_FAIL
      The alarm type indicates a power cut.
      See Also:
    • TYPE_SMOKE

      public static final int TYPE_SMOKE
      The alarm type indicates that smoke is detected.
      See Also:
    • TYPE_SOFTWARE_FAIL

      public static final int TYPE_SOFTWARE_FAIL
      The alarm type indicates that there is software failure.
      See Also:
    • TYPE_TAMPER

      public static final int TYPE_TAMPER
      The alarm type for a tamper indication.
      See Also:
    • TYPE_WATER

      public static final int TYPE_WATER
      The alarm type indicates that a water leak is detected.
      See Also:
    • SEVERITY_UNDEFINED

      public static final int SEVERITY_UNDEFINED
      The severity constant indicates that there is no severity rating for this alarm.
      See Also:
    • SEVERITY_MINOR

      public static final int SEVERITY_MINOR
      The severity rating indicates that there is a minor alarm. The severity priority is lower than SEVERITY_MAJOR and SEVERITY_CRITICAL.
      See Also:
    • SEVERITY_MAJOR

      public static final int SEVERITY_MAJOR
      The severity rating indicates that there is a major alarm. The severity priority is higher than SEVERITY_MINOR and lower than SEVERITY_CRITICAL.
      See Also:
    • SEVERITY_CRITICAL

      public static final int SEVERITY_CRITICAL
      The severity rating indicates that there a critical alarm. The severity priority is higher than SEVERITY_MINOR and SEVERITY_MAJOR.
      See Also:
  • Constructor Details

    • AlarmData

      public AlarmData(Map<String,?> fields)
      Constructs new AlarmData instance with the specified field values. The map keys must match to the field names. The map values will be assigned to the appropriate class fields. For example, the maps can be: {"severity"=Integer(1)...}. That map will initialize the FIELD_SEVERITY field with 1. If severity is missing, SEVERITY_UNDEFINED is used.
      • FIELD_SEVERITY - optional field. The value type must be Integer.
      • FIELD_TYPE - optional field. The value type must be Integer.
      Parameters:
      fields - Contains the new AlarmData instance field values.
      Throws:
      ClassCastException - If the field value types are not expected.
      IllegalArgumentException - If the alarm severity is invalid.
      NullPointerException - If the fields map is null.
    • AlarmData

      public AlarmData(long timestamp, Map<String,?> metadata, int severity, int type)
      Constructs new AlarmData instance with the specified arguments.
      Parameters:
      timestamp - The alarm data timestamp optional field.
      metadata - The alarm data metadata optional field.
      severity - The alarm data severity optional field.
      type - The alarm data type optional field.
      Throws:
      IllegalArgumentException - If the alarm severity is invalid.
  • Method Details

    • getType

      public int getType()
      Returns the alarm type. The type can be one of the predefined: Zero and positive values are reserved for this definition and further extensions of the alarm types. Custom types can be used only as negative values to prevent potential collisions.
      Returns:
      The alarm type.
    • getSeverity

      public int getSeverity()
      Returns the alarm severity. The severity can be one of:
      Returns:
      The alarm severity.
    • equals

      public boolean equals(Object o)
      Two AlarmData instances are equal if they contain equal metadata, timestamp, type and severity.
      Overrides:
      equals in class FunctionData
      Parameters:
      o - The object to compare this data.
      Returns:
      true if this object is equivalent to the specified one.
      See Also:
    • hashCode

      public int hashCode()
      Returns the hash code for this AlarmData object. The hash code is a sum of FunctionData.hashCode(), the alarm severity and the alarm type.
      Overrides:
      hashCode in class FunctionData
      Returns:
      The hash code of this AlarmData object.
      See Also:
    • compareTo

      public int compareTo(Object o)
      Compares this AlarmData instance with the given argument. If the argument is not AlarmData, it throws ClassCastException. Otherwise, this method returns:
      • -1 if this instance field is less than a field of the specified argument.
      • 0 if all fields are equivalent.
      • 1 if this instance field is greater than a field of the specified argument.
      The fields are compared in this order: timestamp, metadata, type, severity.
      Specified by:
      compareTo in interface Comparable<Object>
      Overrides:
      compareTo in class FunctionData
      Parameters:
      o - AlarmData to be compared.
      Returns:
      -1, 0 or 1 depending on the comparison rules.
      Throws:
      ClassCastException - If the method argument is not of type AlarmData.
      See Also:
    • toString

      public String toString()
      Returns the string representation of this alarm data.
      Overrides:
      toString in class Object
      Returns:
      The string representation of this alarm data.