Package jetbrains.buildServer.groups
Interface UserGroupManager
-
- All Known Implementing Classes:
SecuredUserGroupManager,UserGroupManagerImpl
public interface UserGroupManagerA user group manager. Responsible for creation, deletion, and etc of user groups.- Since:
- 4.5
- Author:
- Maxim Podkolzine (maxim.podkolzine@jetbrains.com)
-
-
Field Summary
Fields Modifier and Type Field Description static intMAX_GROUP_KEY_LENGTHMaximum length of the group key.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddUserGroupListener(UserGroupListener listener)Adds the specified listener to the manager's list.SUserGroupcreateUserGroup(String key, String name, String description)Creates a new user group.voiddeleteUserGroup(SUserGroup group)Deletes a user group.SUserGroupfindUserGroupByKey(String key)Given a group key method finds the corresponding user group.SUserGroupfindUserGroupByName(String name)Given a group name method finds the corresponding user group.Set<SUserGroup>findUserGroupsByPropertyValue(PropertyKey propertyKey, String propertyValue, boolean caseSensitive)Returns set of the user groups having specified property.List<UserGroup>getAllHostGroupsOf(User user)Returns topologically ordered list of all groups containing specified user, directly or through intermediate subgroups.SUserGroupgetAllUsersGroup()Returns the all-users group.List<UserGroup>getHostGroupsOf(User user)Returns the list of groups that host specified user (directly).Collection<SUserGroup>getRootUserGroups()Returns the collection of root user groups, i.e.Collection<SUserGroup>getUserGroups()Returns the collection of all user groups.booleanisAllUsersGroup(SUserGroup group)Returns true, if the specified group is the all-users group.voidremoveUserGroupListener(UserGroupListener listener)Removes the listener from the manager's list.voidrenameUserGroup(String key, String name)Renames a user group.
-
-
-
Field Detail
-
MAX_GROUP_KEY_LENGTH
static final int MAX_GROUP_KEY_LENGTH
Maximum length of the group key.- See Also:
- Constant Field Values
-
-
Method Detail
-
createUserGroup
@NotNull SUserGroup createUserGroup(@NotNull String key, @NotNull String name, @NotNull String description) throws UserGroupException
Creates a new user group.The
keyis specified by user, but must be unique among all user groups. An attempt to create a user group with existing key results in exception.The
namemust be unique too. Similarly, in case of duplication an exception is thrown.- Parameters:
key- user group keyname- user group namedescription- user group description- Returns:
- a newly created user group
- Throws:
UserGroupException- if specified key already exists
-
deleteUserGroup
void deleteUserGroup(@NotNull SUserGroup group)Deletes a user group.Note: the
groupwould be deleted from all parent groups automatically, and all subgroups will be reattached to thegroup's parents.group's direct users aren't moved anywhere.- Parameters:
group- a group to delete
-
renameUserGroup
void renameUserGroup(@NotNull String key, @NotNull String name) throws UserGroupExceptionRenames a user group.- Parameters:
key- the group keyname- new group name- Throws:
UserGroupException- if the group is not found, or cannot be renamed- See Also:
SUserGroup.setName(String)
-
getUserGroups
@NotNull Collection<SUserGroup> getUserGroups()
Returns the collection of all user groups.- Returns:
- collection of user groups
- See Also:
getRootUserGroups()
-
getRootUserGroups
@NotNull Collection<SUserGroup> getRootUserGroups()
Returns the collection of root user groups, i.e. the ones that are not included in any other group.- Returns:
- collection of root user groups
- See Also:
getUserGroups()
-
getHostGroupsOf
@NotNull List<UserGroup> getHostGroupsOf(@NotNull User user)
Returns the list of groups that host specified user (directly).- Parameters:
user- the user- Returns:
- list of host groups
-
getAllHostGroupsOf
@NotNull List<UserGroup> getAllHostGroupsOf(@NotNull User user)
Returns topologically ordered list of all groups containing specified user, directly or through intermediate subgroups.- Parameters:
user- the user- Returns:
- list of all groups containing the user
-
findUserGroupByKey
@Nullable SUserGroup findUserGroupByKey(@NotNull String key)
Given a group key method finds the corresponding user group.- Parameters:
key- the user group key- Returns:
- user group, or null
-
findUserGroupByName
@Nullable SUserGroup findUserGroupByName(@NotNull String name)
Given a group name method finds the corresponding user group.- Parameters:
name- the user group name- Returns:
- user group, or null
-
findUserGroupsByPropertyValue
@NotNull Set<SUserGroup> findUserGroupsByPropertyValue(@NotNull PropertyKey propertyKey, @Nullable String propertyValue, boolean caseSensitive)
Returns set of the user groups having specified property.- Parameters:
propertyKey- property keypropertyValue- property valuecaseSensitive- whether to perform case sensitive search- Returns:
- see above
- Since:
- 9.0
-
addUserGroupListener
void addUserGroupListener(@NotNull UserGroupListener listener)Adds the specified listener to the manager's list.- Parameters:
listener- the listener to add
-
removeUserGroupListener
void removeUserGroupListener(@NotNull UserGroupListener listener)Removes the listener from the manager's list.- Parameters:
listener- the listener to remove
-
getAllUsersGroup
@NotNull SUserGroup getAllUsersGroup()
Returns the all-users group.- Returns:
- the all-users group
-
isAllUsersGroup
boolean isAllUsersGroup(@NotNull SUserGroup group)Returns true, if the specified group is the all-users group.- Parameters:
group- the group to check- Returns:
- true if the specified group is the all-users group, false otherwise
-
-