Interface NotificationRulesHolder

  • All Known Subinterfaces:
    SUser, SUserGroup

    public interface NotificationRulesHolder
    Represents the holder of notification rules.
    Since:
    4.5
    Author:
    Maxim Podkolzine (maxim.podkolzine@jetbrains.com)
    See Also:
    NotificationRulesManager
    • Method Detail

      • getNotificationRules

        @NotNull
        java.util.List<NotificationRule> getNotificationRules​(@NotNull
                                                              java.lang.String notifierType)
        Returns the notification rules for specified notifier for this holder (user or group).
        Parameters:
        notifierType - type of the notifier
        Returns:
        list of notification rules for specified notifier
      • setNotificationRules

        void setNotificationRules​(@NotNull
                                  java.lang.String notifierType,
                                  @NotNull
                                  java.util.List<NotificationRule> rules)
        Sets the notification rules for specified notifier.
        Parameters:
        notifierType - type of the notifier
        rules - rules to save
      • removeRule

        void removeRule​(long ruleId)
        Removes the rule with specified id.
        Parameters:
        ruleId - id of the rule
      • removeRule

        void removeRule​(@NotNull
                        NotificationRule rule)
        Removes the rule. Throws NotificationRuleChangedException if notification rule with same id was already changed. Does nothing if notification rule doesn't exist.
        Parameters:
        rule - rule to remove
      • applyOrder

        void applyOrder​(@NotNull
                        java.lang.String notifierType,
                        @NotNull
                        long[] ruleIds)
        Sorts the notification rules in the specified order.
        Parameters:
        notifierType - type of the notifier
        ruleIds - ids of the rules in the required order
      • findConflictingRules

        @Nullable
        java.util.Collection<java.lang.Long> findConflictingRules​(@NotNull
                                                                  java.lang.String notifierType,
                                                                  @NotNull
                                                                  WatchedBuilds watch)
        Searches for rules which intersect with specified watched builds.
        Parameters:
        notifierType - type of the notifier
        watch - watched builds
        Returns:
        list of conflicting rules ids
      • findRuleById

        @Nullable
        NotificationRule findRuleById​(long ruleId)
        Searches for a rule with specified id.
        Parameters:
        ruleId - id of the rule
        Returns:
        a found rule, or null
      • getParentRulesHolders

        @NotNull
        java.util.List<NotificationRulesHolder> getParentRulesHolders()
        Returns direct parent notification rules holders
        Returns:
        direct parent notification rules holders
      • getAllParentRulesHolders

        @NotNull
        java.util.List<NotificationRulesHolder> getAllParentRulesHolders()
        Returns all (direct and inherited) parent notification rules holders
        Returns:
        all (direct and inherited) parent notification rules holders