Class Permission
- java.lang.Object
-
- org.bukkit.permissions.Permission
-
public class Permission extends Object
Represents a unique permission that may be attached to aPermissible
-
-
Field Summary
Fields Modifier and Type Field Description static PermissionDefaultDEFAULT_PERMISSION
-
Constructor Summary
Constructors 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)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description @NotNull PermissionaddParent(@NotNull String name, boolean value)Adds this permission to the specified parent permission.voidaddParent(@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 PermissionDefaultgetDefault()Gets the default value of this permission.@NotNull StringgetDescription()Gets a brief description of this permission, may be empty@NotNull StringgetName()Returns the unique fully qualified name of this Permission@NotNull Set<Permissible>getPermissibles()Gets a set containing everyPermissiblethat has this permission.static @NotNull PermissionloadPermission(@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 PermissionloadPermission(@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.voidrecalculatePermissibles()Recalculates allPermissibles that contain this permission.voidsetDefault(@NotNull PermissionDefault value)Sets the default value of this permission.voidsetDescription(@Nullable String value)Sets the description of this permission.
-
-
-
Field Detail
-
DEFAULT_PERMISSION
public static final PermissionDefault DEFAULT_PERMISSION
-
-
Constructor Detail
-
Permission
public Permission(@NotNull @NotNull String name)
-
Permission
public Permission(@NotNull @NotNull String name, @Nullable @Nullable String description)
-
Permission
public Permission(@NotNull @NotNull String name, @Nullable @Nullable PermissionDefault defaultValue)
-
Permission
public Permission(@NotNull @NotNull String name, @Nullable @Nullable String description, @Nullable @Nullable PermissionDefault defaultValue)
-
Permission
public Permission(@NotNull @NotNull String name, @Nullable @Nullable Map<String,Boolean> children)
-
Permission
public Permission(@NotNull @NotNull String name, @Nullable @Nullable String description, @Nullable @Nullable Map<String,Boolean> children)
-
Permission
public Permission(@NotNull @NotNull String name, @Nullable @Nullable PermissionDefault defaultValue, @Nullable @Nullable Map<String,Boolean> children)
-
-
Method Detail
-
getName
@NotNull public @NotNull String getName()
Returns the unique fully qualified name of this Permission- Returns:
- Fully qualified name
-
getChildren
@NotNull public @NotNull Map<String,Boolean> getChildren()
Gets the children of this permission.If you change this map in any form, you must call
recalculatePermissibles()to recalculate allPermissibles- Returns:
- Permission children
-
getDefault
@NotNull public @NotNull PermissionDefault getDefault()
Gets the default value of this permission.- Returns:
- Default value of this permission.
-
setDefault
public void setDefault(@NotNull @NotNull PermissionDefault value)Sets the default value of this permission.This will not be saved to disk, and is a temporary operation until the server reloads permissions. Changing this default will cause all
Permissibles that contain this permission to recalculate their permissions- Parameters:
value- The new default to set
-
getDescription
@NotNull public @NotNull String getDescription()
Gets a brief description of this permission, may be empty- Returns:
- Brief description of this permission
-
setDescription
public void setDescription(@Nullable @Nullable String value)Sets the description of this permission.This will not be saved to disk, and is a temporary operation until the server reloads permissions.
- Parameters:
value- The new description to set
-
getPermissibles
@NotNull public @NotNull Set<Permissible> getPermissibles()
Gets a set containing everyPermissiblethat has this permission.This set cannot be modified.
- Returns:
- Set containing permissibles with this permission
-
recalculatePermissibles
public void recalculatePermissibles()
Recalculates allPermissibles that contain this permission.This should be called after modifying the children, and is automatically called after modifying the default value
-
addParent
@NotNull public @NotNull Permission addParent(@NotNull @NotNull String name, boolean value)
Adds this permission to the specified parent permission.If the parent permission does not exist, it will be created and registered.
- Parameters:
name- Name of the parent permissionvalue- The value to set this permission to- Returns:
- Parent permission it created or loaded
-
addParent
public void addParent(@NotNull @NotNull Permission perm, boolean value)Adds this permission to the specified parent permission.- Parameters:
perm- Parent permission to register withvalue- The value to set this permission to
-
loadPermissions
@NotNull public static @NotNull List<Permission> loadPermissions(@NotNull @NotNull Map<?,?> data, @NotNull @NotNull String error, @Nullable @Nullable PermissionDefault def)
Loads a list of Permissions from a map of data, usually used from retrieval from a yaml file.The data may contain a list of name:data, where the data contains the following keys:
- default: Boolean true or false. If not specified, false.
- children:
Map<String, Boolean>of child permissions. If not specified, empty list. - description: Short string containing a very small description of this description. If not specified, empty string.
- Parameters:
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- Returns:
- Permission object
-
loadPermission
@NotNull public static @NotNull Permission loadPermission(@NotNull @NotNull String name, @NotNull @NotNull Map<String,Object> data)
Loads a Permission from a map of data, usually used from retrieval from a yaml file.The data may contain the following keys:
- default: Boolean true or false. If not specified, false.
- children:
Map<String, Boolean>of child permissions. If not specified, empty list. - description: Short string containing a very small description of this description. If not specified, empty string.
- Parameters:
name- Name of the permissiondata- Map of keys- Returns:
- Permission object
-
loadPermission
@NotNull public static @NotNull Permission loadPermission(@NotNull @NotNull String name, @NotNull @NotNull Map<?,?> data, @Nullable @Nullable PermissionDefault def, @Nullable @Nullable List<Permission> output)
Loads a Permission from a map of data, usually used from retrieval from a yaml file.The data may contain the following keys:
- default: Boolean true or false. If not specified, false.
- children:
Map<String, Boolean>of child permissions. If not specified, empty list. - description: Short string containing a very small description of this description. If not specified, empty string.
- Parameters:
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 null- Returns:
- Permission object
-
-