Interface InternalForwardListManipulator


  • public interface InternalForwardListManipulator
    An InternalForwardListManipulator is used to manipulate the list of users that can be selected as target for forwarding of tickets and chats by a supervisor. The InternalForwardListManipulator is only available in the novomind iAGENT routing process and can be implemented as RoutingPlugin.
    Since:
    12.23
    • Method Detail

      • getFilterPredicate

        default java.util.function.Predicate<User> getFilterPredicate​(IssueInternalForwardFilterContext context)
        The method allows to filter the list of all available users, that are displayed to the forwarding dialog. The method getFilterPredicate will be called on all InternalForwardListManipulator after the invocation of getAdditionalUsers(IssueInternalForwardFilterContext). As a consequence of this other plugins can also filter the users added by other plugins or themselves. A user will be hidden to the user if there is at least one Predicate provided by any InternalForwardListManipulator, that returns false for that user. Otherwise the user will be visible to the user (default).
        Parameters:
        context - the context with the current user and selected issues.
        Returns:
        a Predicate that selects the users to be displayed. If no predicate is provided, there will be no filter applied by this plugin.
        Since:
        12.23
      • getAdditionalUsers

        default java.util.Set<User> getAdditionalUsers​(IssueInternalForwardFilterContext context)
        The method provides a list of suitable users as internal forwarding target for a set of issues. The method getAdditionalUsers will always be called on all available plugins first. In a second step the method getFilterPredicate(IssueInternalForwardFilterContext) will be called to all InternalForwardListManipulator to let them filter the list of previously added users.
        Parameters:
        context - the context with the current user and selected issues.
        Returns:
        a Set of users available to be selected as target user for the forwarding. The list of users finally provided to the user will be sorted by the user's username.
        Since:
        12.23