Class GroupPatternMatcher


  • public class GroupPatternMatcher
    extends Object
    Matcher of group to ant-style pattern. We support * as arbitrary characters within group name, ** as arbitrary subgroups. E.g.:
     /tenants/** /users matches: /tenant/foo/bar/users and /tenant/foo/users
     /tenants/grp* /users matches: /tenant/grpOther/users but not /tenant/grpOther/foo/users
     
    Author:
    K. Benedyczak
    • Constructor Detail

      • GroupPatternMatcher

        public GroupPatternMatcher()
    • Method Detail

      • matches

        public static boolean matches​(String group,
                                      String pattern)
      • filterMatching

        public static List<pl.edu.icm.unity.types.basic.Group> filterMatching​(List<pl.edu.icm.unity.types.basic.Group> allGroups,
                                                                              String pattern)
        Returns:
        list of those Group objects from allGroups which are matching the given pattern
      • filterByIncludeGroupsMode

        public static List<pl.edu.icm.unity.types.basic.Group> filterByIncludeGroupsMode​(List<pl.edu.icm.unity.types.basic.Group> allGroups,
                                                                                         pl.edu.icm.unity.types.registration.GroupRegistrationParam.IncludeGroupsMode mode)
        Returns:
        list of those Group objects from allGroups which are matching to the given group access mode
      • filterMatching

        public static List<pl.edu.icm.unity.types.basic.Group> filterMatching​(List<pl.edu.icm.unity.types.basic.Group> allGroups,
                                                                              Collection<String> filter)
        Returns:
        list of those Group objects from allGroups which are in filter list
      • isValidPattern

        public static boolean isValidPattern​(String groupPath)