Class AlarmData

  • All Implemented Interfaces:
    java.lang.Comparable<java.lang.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:
    Alarm, FunctionData
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String FIELD_SEVERITY
      Represents the severity field name.
      static java.lang.String FIELD_TYPE
      Represents the type field name.
      static int SEVERITY_CRITICAL
      The severity rating indicates that there a critical alarm.
      static int SEVERITY_MAJOR
      The severity rating indicates that there is a major alarm.
      static int SEVERITY_MINOR
      The severity rating indicates that there is a minor alarm.
      static int SEVERITY_UNDEFINED
      The severity constant indicates that there is no severity rating for this alarm.
      static int TYPE_ACCESS_CONTROL
      The alarm type indicates that there is access control issue.
      static int TYPE_BURGLAR
      The alarm type indicates that there is a burglar notification.
      static int TYPE_COLD
      The alarm type indicates that temperature is too low.
      static int TYPE_GAS_CO
      The alarm type indicates that carbon monoxide (CO) is detected.
      static int TYPE_GAS_CO2
      The alarm type indicates that carbon dioxide (CO2) is detected.
      static int TYPE_HARDWARE_FAIL
      The alarm type indicates that there is hardware failure.
      static int TYPE_HEAT
      The alarm type indicates that temperature is too high.
      static int TYPE_POWER_FAIL
      The alarm type indicates a power cut.
      static int TYPE_SMOKE
      The alarm type indicates that smoke is detected.
      static int TYPE_SOFTWARE_FAIL
      The alarm type indicates that there is software failure.
      static int TYPE_TAMPER
      The alarm type for a tamper indication.
      static int TYPE_UNDEFINED
      The alarm type indicates that the type is not specified.
      static int TYPE_WATER
      The alarm type indicates that a water leak is detected.
    • Constructor Summary

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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int compareTo​(java.lang.Object o)
      Compares this AlarmData instance with the given argument.
      boolean equals​(java.lang.Object o)
      Two AlarmData instances are equal if they contain equal metadata, timestamp, type and severity.
      int getSeverity()
      Returns the alarm severity.
      int getType()
      Returns the alarm type.
      int hashCode()
      Returns the hash code for this AlarmData object.
      java.lang.String toString()
      Returns the string representation of this alarm data.
      • Methods inherited from class java.lang.Object

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

      • FIELD_SEVERITY

        public static final java.lang.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:
        Constant Field Values
      • FIELD_TYPE

        public static final java.lang.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:
        Constant Field Values
      • TYPE_UNDEFINED

        public static final int TYPE_UNDEFINED
        The alarm type indicates that the type is not specified.
        See Also:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • TYPE_COLD

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

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

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

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

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

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

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

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

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

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

        public static final int SEVERITY_UNDEFINED
        The severity constant indicates that there is no severity rating for this alarm.
        See Also:
        Constant Field Values
    • Constructor Detail

      • AlarmData

        public AlarmData​(java.util.Map<java.lang.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:
        java.lang.ClassCastException - If the field value types are not expected.
        java.lang.IllegalArgumentException - If the alarm severity is invalid.
        java.lang.NullPointerException - If the fields map is null.
      • AlarmData

        public AlarmData​(long timestamp,
                         java.util.Map<java.lang.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:
        java.lang.IllegalArgumentException - If the alarm severity is invalid.
    • Method Detail

      • equals

        public boolean equals​(java.lang.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:
        FunctionData.equals(java.lang.Object)
      • compareTo

        public int compareTo​(java.lang.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 java.lang.Comparable<java.lang.Object>
        Overrides:
        compareTo in class FunctionData
        Parameters:
        o - AlarmData to be compared.
        Returns:
        -1, 0 or 1 depending on the comparison rules.
        Throws:
        java.lang.ClassCastException - If the method argument is not of type AlarmData.
        See Also:
        Comparable.compareTo(java.lang.Object)
      • toString

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