Interface UserGroupNotificationRulesManager

    • Method Detail

      • getGroupNotificationRules

        @NotNull
        List<NotificationRule> getGroupNotificationRules​(@NotNull
                                                         String groupCode,
                                                         @NotNull
                                                         String notifierType)
                                                  throws UserGroupException
        Returns user group notification rules for the specified notifier.
        Parameters:
        groupCode - the group code
        notifierType - type of the notifier
        Returns:
        list of notification rules
        Throws:
        UserGroupException - if user group with the given code does not exist
      • setGroupNotificationRules

        void setGroupNotificationRules​(@NotNull
                                       String groupCode,
                                       @NotNull
                                       String notifierType,
                                       @NotNull
                                       List<NotificationRule> rules)
                                throws UserGroupException
        Sets the group notification rules for the specified notifier.
        Parameters:
        groupCode - the group code
        notifierType - type of the notifier
        rules - the rules to set
        Throws:
        UserGroupException - if user group with the given code does not exist
      • removeRule

        void removeRule​(@NotNull
                        String groupCode,
                        long ruleId)
                 throws UserGroupException
        Removes the rule with specified id from the list of rules associated with specified group.
        Parameters:
        groupCode - the group code
        ruleId - id of the rule
        Throws:
        UserGroupException - if user group with the given code does not exist
      • removeRule

        void removeRule​(@NotNull
                        String groupCode,
                        @NotNull
                        NotificationRule rule)
                 throws UserGroupException
        Removes the specified rule from the list of rules associated with specified group.
        Parameters:
        groupCode - the group code
        rule - rule to remove
        Throws:
        UserGroupException - if user group with the given code does not exist
      • applyOrder

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

        @Nullable
        Collection<Long> findConflictingRules​(@NotNull
                                              String groupCode,
                                              @NotNull
                                              String notifierType,
                                              @NotNull
                                              WatchedBuilds watch)
                                       throws UserGroupException
        Searches for the conflicting rules with the specified watched builds and the notifier type.
        Parameters:
        groupCode - the group code
        notifierType - type of the notifier
        watch - watched builds
        Returns:
        list of conflicting rules ids
        Throws:
        UserGroupException - if user group with the given code does not exist
      • findRuleById

        @Nullable
        NotificationRule findRuleById​(@NotNull
                                      String groupCode,
                                      long ruleId)
                               throws UserGroupException
        Searches for a rule with specified id among rules of the specified group.
        Parameters:
        groupCode - the group code
        ruleId - id of the rule
        Returns:
        a found rule, or null
        Throws:
        UserGroupException - if user group with the given code does not exist
      • getDefaultRules

        @NotNull
        List<NotificationRule> getDefaultRules()
        Returns the list of default notification rules.
        Returns:
        the list of default notification rules