public final class Permission extends Object
Each permission is represented by a specific instance of Permission
.
Modifier and Type | Field and Description |
---|---|
static Permission |
CONFIGURE
Generic configuration access.
|
static Permission |
CREATE
Generic create access.
|
static Permission |
DELETE
Generic delete access.
|
org.jvnet.localizer.Localizable |
description
Human-readable description of this permission.
|
boolean |
enabled
Whether this permission is available for use.
|
static Permission |
FULL_CONTROL
Deprecated.
since 2009-01-23.
Use
Jenkins.ADMINISTER . |
PermissionGroup |
group |
static PermissionGroup |
GROUP |
static Permission |
HUDSON_ADMINISTER
Deprecated.
since 2009-01-23.
Access
Jenkins.ADMINISTER instead. |
static PermissionGroup |
HUDSON_PERMISSIONS
Deprecated.
since 2009-01-23.
Access
Jenkins.PERMISSIONS instead. |
static Comparator<Permission> |
ID_COMPARATOR
Comparator that orders
Permission objects based on their ID. |
Permission |
impliedBy
Bundled
Permission that also implies this permission. |
String |
name
Human readable ID of the permission.
|
Class |
owner |
static Permission |
READ
Generic read access.
|
static Permission |
UPDATE
Generic update access.
|
static Permission |
WRITE
Generic write access.
|
Constructor and Description |
---|
Permission(PermissionGroup group,
String name,
org.jvnet.localizer.Localizable description,
Permission impliedBy)
Deprecated.
|
Permission(PermissionGroup group,
String name,
org.jvnet.localizer.Localizable description,
Permission impliedBy,
boolean enable)
Deprecated.
|
Permission(PermissionGroup group,
String name,
org.jvnet.localizer.Localizable description,
Permission impliedBy,
boolean enable,
PermissionScope[] scopes)
Defines a new permission.
|
Permission(PermissionGroup group,
String name,
org.jvnet.localizer.Localizable description,
Permission impliedBy,
PermissionScope scope) |
Permission(PermissionGroup group,
String name,
Permission impliedBy)
Deprecated.
since 1.257.
Use
Permission(PermissionGroup, String, Localizable, Permission) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
static Permission |
fromId(String id)
Convert the ID representation into
Permission object. |
static List<Permission> |
getAll()
Returns all the
Permission s available in the system. |
boolean |
getEnabled() |
String |
getId()
Returns the string representation of this
Permission ,
which can be converted back to Permission via the
fromId(String) method. |
int |
hashCode() |
boolean |
isContainedBy(PermissionScope s)
Checks if this permission is contained in the specified scope, (either directly or indirectly.)
|
void |
setEnabled(boolean enable) |
String |
toString() |
public static final Comparator<Permission> ID_COMPARATOR
Permission
objects based on their ID.@Nonnull public final PermissionGroup group
@Nonnull public final String name
This name should uniquely determine a permission among its owner class. The name must be a valid Java identifier.
The expected naming convention is something like "BrowseWorkspace".
@CheckForNull public final org.jvnet.localizer.Localizable description
If null, there will be no description text.
@CheckForNull public final Permission impliedBy
Permission
that also implies this permission.
This allows us to organize permissions in a hierarchy, so that for example we can say "view workspace" permission is implied by the (broader) "read" permission.
The idea here is that for most people, access control based on such broad permission bundle is good enough, and those few that need finer control can do so.
public boolean enabled
This allows us to dynamically enable or disable the visibility of permissions, so administrators can control the complexity of their permission matrix.
@Deprecated public static final PermissionGroup HUDSON_PERMISSIONS
Jenkins.PERMISSIONS
instead.PermissionGroup
for Jenkins
.@Deprecated public static final Permission HUDSON_ADMINISTER
Jenkins.ADMINISTER
instead.Permission
that represents the God-like access. Equivalent of Unix root.
All permissions are eventually implied by this permission.
public static final PermissionGroup GROUP
@Deprecated public static final Permission FULL_CONTROL
Jenkins.ADMINISTER
.HUDSON_ADMINISTER
but such a distinction doesn't make sense
any more, so deprecated.public static final Permission READ
public static final Permission WRITE
public static final Permission CREATE
public static final Permission UPDATE
public static final Permission DELETE
public static final Permission CONFIGURE
public Permission(@Nonnull PermissionGroup group, @Nonnull String name, @CheckForNull org.jvnet.localizer.Localizable description, @CheckForNull Permission impliedBy, boolean enable, @Nonnull PermissionScope[] scopes) throws IllegalStateException
group
- Permissions are grouped per classes that own them. Specify the permission group
created for that class. The idiom is:
class Foo { private static final PermissionGroup PERMISSIONS = new PermissionGroup(Foo.class,...); public static final Permission ABC = new Permission(PERMISSION,...) ; }Because of the classloading problems and the difficulty for Hudson to enumerate them, the permission constants really need to be static field of the owner class.
name
- See name
.description
- See description
.impliedBy
- See impliedBy
.IllegalStateException
- if this permission was already definedpublic Permission(@Nonnull PermissionGroup group, @Nonnull String name, @CheckForNull org.jvnet.localizer.Localizable description, @CheckForNull Permission impliedBy, @Nonnull PermissionScope scope)
@Deprecated public Permission(@Nonnull PermissionGroup group, @Nonnull String name, @CheckForNull org.jvnet.localizer.Localizable description, @CheckForNull Permission impliedBy, boolean enable)
Permission(PermissionGroup, String, Localizable, Permission, boolean, PermissionScope[])
@Deprecated public Permission(@Nonnull PermissionGroup group, @Nonnull String name, @CheckForNull org.jvnet.localizer.Localizable description, @CheckForNull Permission impliedBy)
Permission(PermissionGroup, String, Localizable, Permission, PermissionScope)
@Deprecated public Permission(@Nonnull PermissionGroup group, @Nonnull String name, @CheckForNull Permission impliedBy)
Permission(PermissionGroup, String, Localizable, Permission)
public boolean isContainedBy(@Nonnull PermissionScope s)
@Nonnull public String getId()
Permission
,
which can be converted back to Permission
via the
fromId(String)
method.
This string representation is suitable for persistence.
fromId(String)
@CheckForNull public static Permission fromId(@Nonnull String id)
Permission
object.getId()
public void setEnabled(boolean enable)
public boolean getEnabled()
@Nonnull public static List<Permission> getAll()
Permission
s available in the system.Copyright © 2004–2019. All rights reserved.