Package jetbrains.buildServer.users
Class UserData
- java.lang.Object
-
- jetbrains.buildServer.users.SimpleUserData
-
- jetbrains.buildServer.users.UserData
-
- All Implemented Interfaces:
jetbrains.buildServer.log.Loggable
,AuthorityHolder
,PropertyHolder
,User
public class UserData extends SimpleUserData implements AuthorityHolder
This class contains all necessary information to be sent via XmlRpc to remote client about TeamCity user
-
-
Constructor Summary
Constructors Constructor Description UserData(long id, java.lang.String realm, java.lang.String username, java.lang.String name, java.util.Date lastLoginTimestamp)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static UserData
createOn(User user)
User
getAssociatedUser()
Returns the user object associated with the principal.Permissions
getGlobalPermissions()
Returns all granted non-project related permissions and all project-related permissions granted globallyjava.util.Date
getLastLoginTimestamp()
Returns this user last login timestampPermissions
getPermissionsGrantedForAllProjects(java.util.Collection<java.lang.String> projectIds)
Returns all permissions granted for all projects from the collection.Permissions
getPermissionsGrantedForAnyOfProjects(java.util.Collection<java.lang.String> projectIds)
Returns union of permissions granted for projects from the collection.Permissions
getPermissionsGrantedForProject(java.lang.String projectId)
Returns all permissions granted for particular project.java.util.Map<java.lang.String,Permissions>
getProjectsPermissions()
Returns map of project-related permissions that were granted for a particular project.java.lang.String
getRealm()
Returns realm of the user.boolean
isPermissionGrantedForAllProjects(java.util.Collection<java.lang.String> projectIds, Permission permission)
Returns true if permission is granted for all projects from the given list.boolean
isPermissionGrantedForAnyOfProjects(java.util.Collection<java.lang.String> projectIds, Permission permission)
Returns true if specified permission is granted for at least one project from the given collectionboolean
isPermissionGrantedForAnyProject(Permission permission)
Returns true if specified permission is granted for at least one projectboolean
isPermissionGrantedForProject(java.lang.String projectId, Permission permission)
Returns true if permission is granted for a project, i.e.boolean
isPermissionGrantedGlobally(Permission permission)
Returns true if specified permission granted globally (i.e.void
setPermissions(PermissionsHolder permissionsHolder)
Sets authority holder in this user.-
Methods inherited from class jetbrains.buildServer.users.SimpleUserData
createSimpleUserDataOn, describe, equals, getAllProjects, getBooleanProperty, getDescriptiveName, getEmail, getExtendedName, getId, getName, getProperties, getPropertyValue, getUsername, getVisibleProjects, hasAllPermissionsOf, hashCode
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jetbrains.buildServer.serverSide.auth.AuthorityHolder
getAllPermissions, hasAllPermissionsOf
-
-
-
-
Method Detail
-
setPermissions
public void setPermissions(@NotNull PermissionsHolder permissionsHolder)
Sets authority holder in this user. AuthorityHolder contains permissions of the user.- Parameters:
permissionsHolder
- authority holder
-
getRealm
public java.lang.String getRealm()
Description copied from interface:User
Returns realm of the user.- Specified by:
getRealm
in interfaceUser
- Overrides:
getRealm
in classSimpleUserData
- Returns:
- realm of the user
-
getLastLoginTimestamp
public java.util.Date getLastLoginTimestamp()
Description copied from interface:User
Returns this user last login timestamp- Specified by:
getLastLoginTimestamp
in interfaceUser
- Overrides:
getLastLoginTimestamp
in classSimpleUserData
- Returns:
- last login timestamp
-
isPermissionGrantedGlobally
public boolean isPermissionGrantedGlobally(@NotNull Permission permission)
Description copied from interface:AuthorityHolder
Returns true if specified permission granted globally (i.e. not associated with any particular object)- Specified by:
isPermissionGrantedGlobally
in interfaceAuthorityHolder
- Overrides:
isPermissionGrantedGlobally
in classSimpleUserData
- Parameters:
permission
- permission to check- Returns:
- true or false
-
getGlobalPermissions
@NotNull public Permissions getGlobalPermissions()
Description copied from interface:AuthorityHolder
Returns all granted non-project related permissions and all project-related permissions granted globally- Specified by:
getGlobalPermissions
in interfaceAuthorityHolder
- Overrides:
getGlobalPermissions
in classSimpleUserData
- Returns:
- see above
-
getProjectsPermissions
@NotNull public java.util.Map<java.lang.String,Permissions> getProjectsPermissions()
Description copied from interface:AuthorityHolder
Returns map of project-related permissions that were granted for a particular project. Project internal id is used as the key.- Specified by:
getProjectsPermissions
in interfaceAuthorityHolder
- Overrides:
getProjectsPermissions
in classSimpleUserData
- Returns:
- map of project permissions
-
isPermissionGrantedForProject
public boolean isPermissionGrantedForProject(@NotNull java.lang.String projectId, @NotNull Permission permission)
Description copied from interface:AuthorityHolder
Returns true if permission is granted for a project, i.e. the result is true if there is a project related permission granted globally or for specified project- Specified by:
isPermissionGrantedForProject
in interfaceAuthorityHolder
- Overrides:
isPermissionGrantedForProject
in classSimpleUserData
- Parameters:
projectId
- project internal idpermission
- permission to check- Returns:
- see above
-
isPermissionGrantedForAllProjects
public boolean isPermissionGrantedForAllProjects(@NotNull java.util.Collection<java.lang.String> projectIds, @NotNull Permission permission)
Description copied from interface:AuthorityHolder
Returns true if permission is granted for all projects from the given list. Returns false if projectIds is empty.- Specified by:
isPermissionGrantedForAllProjects
in interfaceAuthorityHolder
- Overrides:
isPermissionGrantedForAllProjects
in classSimpleUserData
- Parameters:
projectIds
- collection of project idspermission
- permission to check @return see above- See Also:
AuthorityHolder.isPermissionGrantedForProject(java.lang.String, jetbrains.buildServer.serverSide.auth.Permission)
-
isPermissionGrantedForAnyProject
public boolean isPermissionGrantedForAnyProject(@NotNull Permission permission)
Description copied from interface:AuthorityHolder
Returns true if specified permission is granted for at least one project- Specified by:
isPermissionGrantedForAnyProject
in interfaceAuthorityHolder
- Overrides:
isPermissionGrantedForAnyProject
in classSimpleUserData
- Parameters:
permission
- permission to check- Returns:
- see above
-
isPermissionGrantedForAnyOfProjects
public boolean isPermissionGrantedForAnyOfProjects(@NotNull java.util.Collection<java.lang.String> projectIds, @NotNull Permission permission)
Description copied from interface:AuthorityHolder
Returns true if specified permission is granted for at least one project from the given collection- Specified by:
isPermissionGrantedForAnyOfProjects
in interfaceAuthorityHolder
- Overrides:
isPermissionGrantedForAnyOfProjects
in classSimpleUserData
permission
- permission to check- Returns:
- see above
-
getPermissionsGrantedForProject
@NotNull public Permissions getPermissionsGrantedForProject(@NotNull java.lang.String projectId)
Description copied from interface:AuthorityHolder
Returns all permissions granted for particular project. These include permissions granted specifically for the specified project and granted global project-related permissions (i.e. permissions supporting project associationPermission.isProjectAssociationSupported()
).- Specified by:
getPermissionsGrantedForProject
in interfaceAuthorityHolder
- Overrides:
getPermissionsGrantedForProject
in classSimpleUserData
- Parameters:
projectId
- project internal id- Returns:
- all granted permissions for particular project
-
getPermissionsGrantedForAllProjects
@NotNull public Permissions getPermissionsGrantedForAllProjects(@NotNull java.util.Collection<java.lang.String> projectIds)
Description copied from interface:AuthorityHolder
Returns all permissions granted for all projects from the collection. These include permissions granted specifically for the specified projects and granted global project-related permissions (i.e. permissions supporting project associationPermission.isProjectAssociationSupported()
).- Specified by:
getPermissionsGrantedForAllProjects
in interfaceAuthorityHolder
- Overrides:
getPermissionsGrantedForAllProjects
in classSimpleUserData
- Parameters:
projectIds
- collection of project internal ids- Returns:
- all granted permissions for all projects
-
getPermissionsGrantedForAnyOfProjects
@NotNull public Permissions getPermissionsGrantedForAnyOfProjects(@NotNull java.util.Collection<java.lang.String> projectIds)
Description copied from interface:AuthorityHolder
Returns union of permissions granted for projects from the collection. These include permissions granted specifically for the specified projects and granted global project-related permissions (i.e. permissions supporting project associationPermission.isProjectAssociationSupported()
).- Specified by:
getPermissionsGrantedForAnyOfProjects
in interfaceAuthorityHolder
- Overrides:
getPermissionsGrantedForAnyOfProjects
in classSimpleUserData
- Parameters:
projectIds
- collection of project internal ids- Returns:
- all granted permissions for all projects
-
getAssociatedUser
@Nullable public User getAssociatedUser()
Description copied from interface:AuthorityHolder
Returns the user object associated with the principal.- Specified by:
getAssociatedUser
in interfaceAuthorityHolder
- Overrides:
getAssociatedUser
in classSimpleUserData
- Returns:
- may be null if the authority holder is not a user.
-
-