Interface AlarmProvider


public interface AlarmProvider
The AlarmProvider is an entity that operates on alarms, and essentially provides access to alarm state model functionality, but in a way that can be remote or implemented differently than the core implementation. Currently we have two potentially sub-interfaces that an implementation may support: AlarmQueryProvider and AlarmNotificationProvider.
  • Method Details

    • getName

      String getName()
      Retrieves the name of this AlarmProvider.
      Returns:
      the name of the AlarmProvider as a String.
    • supportsQuerying

      boolean supportsQuerying()
      Indicates whether this AlarmProvider implementation supports querying capabilities. Querying capabilities allow fetching alarm information based on criteria, which may require integration with an AlarmQueryProvider.
      Returns:
      true if querying capabilities are supported by this provider, false otherwise
    • getQueryProvider

      @Nullable AlarmQueryProvider getQueryProvider()
      Provides access to an object implementing the AlarmQueryProvider interface, if the implementation of this AlarmProvider supports querying alarms.
      Returns:
      An instance of AlarmQueryProvider if querying is supported, or null otherwise.
    • supportsNotification

      boolean supportsNotification()
      Indicates whether this AlarmProvider supports notification functionality.
      Returns:
      true if the provider supports notifications, false otherwise.
    • getNotificationProvider

      @Nullable AlarmNotificationProvider getNotificationProvider()
      Retrieves the notification provider associated with this AlarmProvider, if one is available. A notification provider is responsible for exposing pipelines that can be used to send alarm notifications.
      Returns:
      the AlarmNotificationProvider instance if supported by this AlarmProvider, or null if not supported.
    • isLocal

      default boolean isLocal()

      Determines whether this AlarmProvider sources its functionality from the local gateway system. This affects how the provider's capabilities are exposed and managed within the alarm system.

      For query providers, true indicates that alarm data and acknowledgment capabilities are sourced from the local gateway system. For notification providers, true indicates that available pipelines are sourced from the local gateway system.

      Returns:
      true by default, indicating alarm functionality is local to the gateway. Override to return false if functionality is sourced from a remote system.