Interface AlarmManager

  • All Superinterfaces:
    AlarmShelfManager

    public interface AlarmManager
    extends AlarmShelfManager
    This is the central manager for alarming in Ignition. It is the coordinator for everything on the gateway side. Alarm sources register themselves and their configurations, and receive AlarmEvaluators that they use to process values. Querying and status is performed through here, as well as management of alarm listeners.
    • Field Detail

      • REDUNDANCY_SYSID

        static final java.lang.String REDUNDANCY_SYSID
        The system id for alarming in redundancy
        See Also:
        Constant Field Values
      • REDUNDANCY_SHELF_SYSID

        static final java.lang.String REDUNDANCY_SHELF_SYSID
        See Also:
        Constant Field Values
    • Method Detail

      • registerAlarm

        AlarmEvaluator registerAlarm​(QualifiedPath sourcePath,
                                     PropertyValueSource parentProperties,
                                     AlarmConfiguration configuration,
                                     ExpressionParseContext expressionContext)
        Registers the configuration of an alarm for a specific source, also providing the context for references in bound alarm properties. The result is an AlarmEvaluator which will be used by the source to evaluate values. When the source is done or removed, it should release the AlarmExecutor to unregister it from the system.
      • acknowledge

        @Deprecated
        boolean acknowledge​(java.util.Collection<java.util.UUID> eventIds,
                            EventData ackData)
        Deprecated.
        Acknowledges the specified events, with the provided data. This is designed to allow one user to acknowledge multiple events at once.
        Returns:
        true if the ack was successful for all passed events, and false otherwise
      • acknowledgeBulk

        java.util.Set<java.util.UUID> acknowledgeBulk​(java.util.Collection<java.util.UUID> eventIds,
                                                      EventData ackData)
        Acknowledges the specified events, with the provided data. Implementations of this method are optimized for bulk operations.
        Returns:
        Set of alarm UUIDs that were unable to be acked
      • addListener

        void addListener​(QualifiedPath alarmPath,
                         AlarmListener listener)
        Registers a listener for events generated at the specified path location or below.
      • removeListener

        void removeListener​(QualifiedPath alarmPath,
                            AlarmListener listener)
        Removes a previously registered alarm listener.
      • queryStatus

        @Nonnull
        AlarmQueryResult queryStatus​(AlarmFilter filter)
        Returns all of the current events that match the provided filter. The filter is built up on conditions based on the fields defined on the AlarmFilter class.
      • getAvailableJournalProfiles

        @Nonnull
        java.util.List<java.lang.String> getAvailableJournalProfiles()
        Returns the names of the registered alarm journal profiles.
      • queryJournal

        @Nonnull
        AlarmQueryResult queryJournal​(java.lang.String profile,
                                      AlarmFilter filter)
        Returns historical events that pass the provided filter. The filter should at least provide a condition for the AlarmFilter.EVENTTIME field.
        Parameters:
        profile - the alarm journal profile to query.
      • getEvents

        @Nonnull
        java.util.List<AlarmEvent> getEvents​(java.util.Collection<java.util.UUID> ids)
        Retrieves the events specified by the provided ids. Only returns events that are "live". Generally, live events are any that are not clear and/or not acknowledged, unless they are the only event available for an alarm. The returned list may not be the same length as the input- events for ids that do not exist will not be included.
      • getJournalManager

        AlarmJournalManager getJournalManager()
        Get the journal management subsystem for this Alarm Manager.
        Since:
        8.0.5
      • getExtendedConfigProperties

        @Nonnull
        java.util.Collection<AlarmProperty<?>> getExtendedConfigProperties()
        Returns all of the registered extended properties.
      • registerExtendedConfigProperties

        void registerExtendedConfigProperties​(java.lang.String ownerId,
                                              AlarmProperty<?>... props)
        Extended Configuration properties are properties added by modules. They complement the other types of properties: Well known (system defined), and Associated Data (user defined).
        Parameters:
        ownerId - the identifier, usually module id, of the entity registering the properties.
      • unregisterExtendedConfigProperties

        void unregisterExtendedConfigProperties​(java.lang.String ownerId)
        Removes all of the registered properties for the given owner.
      • getPropertyResolver

        PropertyResolver getPropertyResolver()
        Returns a property resolver that will handle all of the known alarming properties, including the registered extended properties.
      • registerAlarmProvider

        void registerAlarmProvider​(AlarmProvider provider)
      • unregisterAlarmProvider

        void unregisterAlarmProvider​(AlarmProvider provider)