Interface UserGroup

  • All Superinterfaces:
    Loggable, PropertyHolder
    All Known Subinterfaces:
    SUserGroup, UserGroupEx
    All Known Implementing Classes:
    AllUsersGroup, DeletedUserGroup, SecuredUserGroup, UserGroupImpl

    public interface UserGroup
    extends PropertyHolder, Loggable
    Represents a user group. A user group is an entity that associates a set of users with some permissions (roles), notification rules, etc.

    Groups can include other groups (subgroups), inheriting the roles and notification rules of subgroups.

    A group is not associated with a particular project, but can have permissions associated with the project.

    Since:
    4.5
    Author:
    Maxim Podkolzine (maxim.podkolzine@jetbrains.com)
    • Method Detail

      • getKey

        @NotNull
        String getKey()
        Returns a group key. The key is fixed, unique among all groups.
        Returns:
        group key
      • getName

        @NotNull
        String getName()
        Returns a displayable name of this group. The name is unique among all groups, but in contrast with group key is modifiable.
        Returns:
        group name
      • getDescription

        @NotNull
        String getDescription()
        Returns a description of this group.
        Returns:
        group description
      • getAllSubgroups

        @NotNull
        List<UserGroup> getAllSubgroups()
        Returns the set of all subgroups included into this group, directly or through intermediate ones.
        Returns:
        list of all subgroups
        See Also:
        getDirectSubgroups()
      • getParentGroups

        @NotNull
        List<UserGroup> getParentGroups()
        Returns the list of direct parent groups, i.e. groups that contain this groups as a subgroup.
        Returns:
        list of direct parents
        See Also:
        getDirectSubgroups()
      • getDirectUsers

        @NotNull
        List<User> getDirectUsers()
        Returns the collection of users included into this group. This method ignores the subgroups.
        Returns:
        list of users
        See Also:
        getAllUsers()
      • getAllUsers

        @NotNull
        List<User> getAllUsers()
        Returns the set of all users included into this group, directly or through subgroups.
        Returns:
        list of all users
        See Also:
        getDirectUsers()
      • containsUserDirectly

        boolean containsUserDirectly​(@NotNull
                                     User user)
        Parameters:
        user - user to check
        Returns:
        true if this group contains user directly (user is returned by getDirectUsers)
        Since:
        8.0.4