public class Permission extends Object
Permissible
Modifier and Type | Field | Description |
---|---|---|
static PermissionDefault |
DEFAULT_PERMISSION |
Constructor | Description |
---|---|
Permission(@NotNull String name) |
|
Permission(@NotNull String name,
@Nullable String description) |
|
Permission(@NotNull String name,
@Nullable String description,
@Nullable Map<String,Boolean> children) |
|
Permission(@NotNull String name,
@Nullable String description,
@Nullable PermissionDefault defaultValue) |
|
Permission(@NotNull String name,
@Nullable String description,
@Nullable PermissionDefault defaultValue,
@Nullable Map<String,Boolean> children) |
|
Permission(@NotNull String name,
@Nullable Map<String,Boolean> children) |
|
Permission(@NotNull String name,
@Nullable PermissionDefault defaultValue) |
|
Permission(@NotNull String name,
@Nullable PermissionDefault defaultValue,
@Nullable Map<String,Boolean> children) |
Modifier and Type | Method | Description |
---|---|---|
@NotNull Permission |
addParent(@NotNull String name,
boolean value) |
Adds this permission to the specified parent permission.
|
void |
addParent(@NotNull Permission perm,
boolean value) |
Adds this permission to the specified parent permission.
|
@NotNull Map<String,Boolean> |
getChildren() |
Gets the children of this permission.
|
@NotNull PermissionDefault |
getDefault() |
Gets the default value of this permission.
|
@NotNull String |
getDescription() |
Gets a brief description of this permission, may be empty
|
@NotNull String |
getName() |
Returns the unique fully qualified name of this Permission
|
@NotNull Set<Permissible> |
getPermissibles() |
Gets a set containing every
Permissible that has this
permission. |
static @NotNull Permission |
loadPermission(@NotNull String name,
@NotNull Map<?,?> data,
@Nullable PermissionDefault def,
@Nullable List<Permission> output) |
Loads a Permission from a map of data, usually used from retrieval from
a yaml file.
|
static @NotNull Permission |
loadPermission(@NotNull String name,
@NotNull Map<String,Object> data) |
Loads a Permission from a map of data, usually used from retrieval from
a yaml file.
|
static @NotNull List<Permission> |
loadPermissions(@NotNull Map<?,?> data,
@NotNull String error,
@Nullable PermissionDefault def) |
Loads a list of Permissions from a map of data, usually used from
retrieval from a yaml file.
|
void |
recalculatePermissibles() |
Recalculates all
Permissible s that contain this permission. |
void |
setDefault(@NotNull PermissionDefault value) |
Sets the default value of this permission.
|
void |
setDescription(@Nullable String value) |
Sets the description of this permission.
|
public static final PermissionDefault DEFAULT_PERMISSION
public Permission(@NotNull @NotNull String name)
public Permission(@NotNull @NotNull String name, @Nullable @Nullable String description)
public Permission(@NotNull @NotNull String name, @Nullable @Nullable PermissionDefault defaultValue)
public Permission(@NotNull @NotNull String name, @Nullable @Nullable String description, @Nullable @Nullable PermissionDefault defaultValue)
public Permission(@NotNull @NotNull String name, @Nullable @Nullable Map<String,Boolean> children)
public Permission(@NotNull @NotNull String name, @Nullable @Nullable String description, @Nullable @Nullable Map<String,Boolean> children)
public Permission(@NotNull @NotNull String name, @Nullable @Nullable PermissionDefault defaultValue, @Nullable @Nullable Map<String,Boolean> children)
@NotNull public @NotNull String getName()
@NotNull public @NotNull Map<String,Boolean> getChildren()
If you change this map in any form, you must call recalculatePermissibles()
to recalculate all Permissible
s
@NotNull public @NotNull PermissionDefault getDefault()
public void setDefault(@NotNull @NotNull PermissionDefault value)
This will not be saved to disk, and is a temporary operation until the
server reloads permissions. Changing this default will cause all Permissible
s that contain this permission to recalculate their
permissions
value
- The new default to set@NotNull public @NotNull String getDescription()
public void setDescription(@Nullable @Nullable String value)
This will not be saved to disk, and is a temporary operation until the server reloads permissions.
value
- The new description to set@NotNull public @NotNull Set<Permissible> getPermissibles()
Permissible
that has this
permission.
This set cannot be modified.
public void recalculatePermissibles()
Permissible
s that contain this permission.
This should be called after modifying the children, and is automatically called after modifying the default value
@NotNull public @NotNull Permission addParent(@NotNull @NotNull String name, boolean value)
If the parent permission does not exist, it will be created and registered.
name
- Name of the parent permissionvalue
- The value to set this permission topublic void addParent(@NotNull @NotNull Permission perm, boolean value)
perm
- Parent permission to register withvalue
- The value to set this permission to@NotNull public static @NotNull List<Permission> loadPermissions(@NotNull @NotNull Map<?,?> data, @NotNull @NotNull String error, @Nullable @Nullable PermissionDefault def)
The data may contain a list of name:data, where the data contains the following keys:
Map<String, Boolean>
of child permissions. If not
specified, empty list.
data
- Map of permissionserror
- An error message to show if a permission is invalid. May contain "%s" format tag, which will be replaced with the name of invalid permission.def
- Default permission value to use if missing@NotNull public static @NotNull Permission loadPermission(@NotNull @NotNull String name, @NotNull @NotNull Map<String,Object> data)
The data may contain the following keys:
Map<String, Boolean>
of child permissions. If not
specified, empty list.
name
- Name of the permissiondata
- Map of keys@NotNull public static @NotNull Permission loadPermission(@NotNull @NotNull String name, @NotNull @NotNull Map<?,?> data, @Nullable @Nullable PermissionDefault def, @Nullable @Nullable List<Permission> output)
The data may contain the following keys:
Map<String, Boolean>
of child permissions. If not
specified, empty list.
name
- Name of the permissiondata
- Map of keysdef
- Default permission value to use if not setoutput
- A list to append any created child-Permissions to, may be nullCopyright © 2020. All rights reserved.