java.lang.Object | ||
↳ | java.lang.Enum<E extends java.lang.Enum<E>> | |
↳ | com.atlassian.bitbucket.permission.Permission |
Enumerates the available permissions and describes what they are used to protect.
Enum Values | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Permission | ADMIN | Allows access to common administration tasks, such as granting global permissions. | |||||||||
Permission | LICENSED_USER | Allows access to the application. | |||||||||
Permission | PROJECT_ADMIN | Allows administrative access to a project and any repository it contains. | |||||||||
Permission | PROJECT_CREATE | Allows project creation. | |||||||||
Permission | PROJECT_READ | Allows read access to a project and any repository it contains. | |||||||||
Permission | PROJECT_VIEW | Allow view access to a project. | |||||||||
Permission | PROJECT_WRITE | Allows write access to a project and any repository it contains. | |||||||||
Permission | REPO_ADMIN | Allows to administer a repository. | |||||||||
Permission | REPO_READ | Allows read access to a repository. | |||||||||
Permission | REPO_WRITE | Allows write access to a repository. | |||||||||
Permission | SYS_ADMIN | Allows access to advanced administration tasks. | |||||||||
Permission | USER_ADMIN | Allows access to change account configuration for a given user such as SSH keys, GPG keys, personal tokens, and password. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Gets a permission by its id.
| |||||||||||
Gets a permission by its weight.
| |||||||||||
Gets all the global permissions.
| |||||||||||
Get the set of permissions that inherit this permission (excluding this permission).
| |||||||||||
Gets all permissions this permission inherits.
| |||||||||||
Gets all permissions that inherit this permission (including this permission).
| |||||||||||
Gets all the permissions associated with a resource.
| |||||||||||
Return all resource types that this permission applies to.
| |||||||||||
Retrieves the weight of this permission relative to other permissions.
| |||||||||||
Indicates whether this
Permission can be granted globally. | |||||||||||
Indicates whether this permission may be granted to all users,
or if it must be granted to users or groups individually.
| |||||||||||
Indicates whether this permission applies to a given resource type.
| |||||||||||
Indicates whether this
Permission only applies to specific resource(s),
such as projects and repositories. | |||||||||||
Gets the permission with the maximum
weigth . | |||||||||||
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Enum
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
java.lang.Comparable
|
Allows access to common administration tasks, such as granting global permissions.
This grants overall admin access, implying PROJECT_ADMIN
to all the projects.
Allows access to the application.
This allows the user to authenticate and counts their account towards the license limit.
Allows administrative access to a project and any repository it contains.
In addition to the permissions already granted by PROJECT_WRITE
, this allows accessing and updating
the configuration of the project itself (such as adding other project permissions, configuring the project's
avatar, renaming or deleting the project). This also grants REPO_ADMIN
on all the repositories in
the project.
Allows project creation.
This allows the user to create new projects.
Allows read access to a project and any repository it contains.
This allows listing and viewing all the repositories in a project. It also grants
REPO_READ
to all the repositories in the project.
Allow view access to a project.
This permission cannot be granted to a user/group. It is an implied permission for any user which has at least read access one or more repositories within the project
Allows write access to a project and any repository it contains.
In addition to the permissions already granted by PROJECT_READ
, this also grants
REPO_WRITE
on all the repositories in the project.
Allows to administer a repository.
In addition to the permissions already granted by REPO_WRITE
, this allows accessing and updating
the configuration of the repository, such as adding or revoking branch permissions, adding or revoking other
repository permissions, renaming or deleting the repository.
Allows read access to a repository.
This allows cloning and pulling changes from a repository, adding comments and declining pull requests that target the repository. It also allows creating pull requests if the user has the permission on both the source and target repository.
Allows write access to a repository.
In addition to the permissions already granted by REPO_READ
, this allows pushing changes
to a repository and merging pull requests targeting the repository.
Allows access to advanced administration tasks.
In addition to the permissions already granted by ADMIN
, this grants the user full access to
the restricted admin functions, such as enabling SSH access, updating the license or migrating databases.
Allows access to change account configuration for a given user such as SSH keys, GPG keys, personal tokens, and password.
This permission can not be granted to any user/group it is implied for any user for their own account. This permission is not implied for personal tokens.
Users with SYS_ADMIN gains this permission for all users. Users with ADMIN gains this for all users except SYS_ADMIN users.
Gets a permission by its id.
id | id of the permission |
---|
IllegalArgumentException | if no Permission is associated with the given id
|
---|
Gets a permission by its weight.
weight | weight of the permission |
---|
null
if no permission matches the weight
Gets all the global permissions.
Get the set of permissions that inherit this permission (excluding this permission).
Gets all permissions this permission inherits.
Gets all permissions that inherit this permission (including this permission).
Gets all the permissions associated with a resource.
For example, getPermissionsOn(Project.class)
returns all the permissions that applies
to the resource, excluding global
permissions.
resourceClass | resource the permission must be applicable to |
---|
Return all resource types that this permission applies to. This could be domain objects, as well as numeric values representing resource IDs.
global permissions
.Retrieves the weight of this permission relative to other permissions.
Higher weight implies the permission has precedence over its lesser counterpart(s). Weight can be used to perform an in-order traversal of the permission hierarchy.
Indicates whether this Permission
can be granted globally.
Global permissions applies to all resources.
true
if this permission applies globally to all resources; or
false
if this permission applied to specific resource(s)
true
if the permission can be granted to a user, group or all users,
false
otherwise
Indicates whether this permission may be granted to all users, or if it must be granted to users or groups individually.
true
if the permission may be blanket granted to all users; or
false
if it may only be granted individually to users or groups
Indicates whether this permission applies to a given resource type.
Caveat: global permissions (that applies to all resources) will return false
.
resourceClass | the type of the resource |
---|
true
if this permission applies to instances of resourceClass
Indicates whether this Permission
only applies to specific resource(s),
such as projects and repositories.
This is the logical negation of isGlobal()
; a permission cannot be both global and resource.
true
if this permission can be applied to a specific resource; or
false
if this is a global
permissionGets the permission with the maximum weigth
.
p1 | permission 1 (can be null ) |
---|---|
p2 | permission 2 (can be null ) |