jetbrains.buildServer.serverSide.auth
Class PermissionsHolder

java.lang.Object
  extended by jetbrains.buildServer.serverSide.auth.PermissionsHolder

public class PermissionsHolder
extends java.lang.Object

Incapsulates permission checking logic. Global permissions are those that are not associated with any project. Project permissions are associated with a project (via project id).


Constructor Summary
PermissionsHolder()
          Default constructor
PermissionsHolder(AuthorityHolder authorityHolder)
          Copies permissions from the specified authority holder
 
Method Summary
 Permissions getGlobalPermissions()
          Returns permissions granted globally
 Permissions getPermissionsGrantedForProject(java.lang.String projectId)
          Returns permissions granted to the specified project
 java.util.Map<java.lang.String,Permissions> getProjectsPermissions()
          Returns permissions granted to projects
 boolean isPermissionGrantedForAnyProject(Permission permission)
          Returns true if the specified permission is granted to at least one project.
 boolean isPermissionGrantedForProject(java.lang.String projectId, Permission permission)
          Returns true if the specified permission is granted to the project with specified id.
 boolean isPermissionGrantedGlobally(Permission permission)
          Returns true if the specified permission is granted globally, i.e.
 void setPermissions(Permissions globalPermissions, java.util.Map<java.lang.String,Permissions> projectPermissions)
          Sets global and project permissions in the holder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PermissionsHolder

public PermissionsHolder()
Default constructor


PermissionsHolder

public PermissionsHolder(@NotNull
                         AuthorityHolder authorityHolder)
Copies permissions from the specified authority holder

Parameters:
authorityHolder - authority holder
Method Detail

setPermissions

public void setPermissions(@NotNull
                           Permissions globalPermissions,
                           @NotNull
                           java.util.Map<java.lang.String,Permissions> projectPermissions)
Sets global and project permissions in the holder

Parameters:
globalPermissions - global permissions
projectPermissions - project permissions map

isPermissionGrantedGlobally

public boolean isPermissionGrantedGlobally(@NotNull
                                           Permission permission)
Returns true if the specified permission is granted globally, i.e. the permission is granted and cannot be associated with a project (not project related permission) or is granted to all of the projects.

Parameters:
permission - permission to check
Returns:
true if permission granted globally

isPermissionGrantedForProject

public boolean isPermissionGrantedForProject(@NotNull
                                             java.lang.String projectId,
                                             @NotNull
                                             Permission permission)
Returns true if the specified permission is granted to the project with specified id.

Parameters:
projectId - id of the project
permission - permission to check
Returns:
see above

isPermissionGrantedForAnyProject

public boolean isPermissionGrantedForAnyProject(@NotNull
                                                Permission permission)
Returns true if the specified permission is granted to at least one project.

Parameters:
permission - permission to check
Returns:
see above

getGlobalPermissions

@NotNull
public Permissions getGlobalPermissions()
Returns permissions granted globally

Returns:
permissions granted globally

getProjectsPermissions

@NotNull
public java.util.Map<java.lang.String,Permissions> getProjectsPermissions()
Returns permissions granted to projects

Returns:
permissions granted to projects

getPermissionsGrantedForProject

@NotNull
public Permissions getPermissionsGrantedForProject(@NotNull
                                                           java.lang.String projectId)
Returns permissions granted to the specified project

Parameters:
projectId - id of the project
Returns:
see above