Class Permission
public class Permission extends Object
Permissible-
Field Summary
Fields Modifier and Type Field Description static PermissionDefaultDEFAULT_PERMISSION -
Constructor Summary
Constructors Constructor Description Permission(String name)Permission(String name, String description)Permission(String name, String description, Map<String,Boolean> children)Permission(String name, String description, PermissionDefault defaultValue)Permission(String name, String description, PermissionDefault defaultValue, Map<String,Boolean> children)Permission(String name, Map<String,Boolean> children)Permission(String name, PermissionDefault defaultValue)Permission(String name, PermissionDefault defaultValue, Map<String,Boolean> children) -
Method Summary
Modifier and Type Method Description PermissionaddParent(String name, boolean value)Adds this permission to the specified parent permission.voidaddParent(Permission perm, boolean value)Adds this permission to the specified parent permission.Map<String,Boolean>getChildren()Gets the children of this permission.PermissionDefaultgetDefault()Gets the default value of this permission.StringgetDescription()Gets a brief description of this permission, may be emptyStringgetName()Returns the unique fully qualified name of this PermissionSet<Permissible>getPermissibles()Gets a set containing everyPermissiblethat has this permission.static PermissionloadPermission(String name, Map<?,?> data, PermissionDefault def, List<Permission> output)Loads a Permission from a map of data, usually used from retrieval from a yaml file.static PermissionloadPermission(String name, Map<String,Object> data)Loads a Permission from a map of data, usually used from retrieval from a yaml file.static List<Permission>loadPermissions(Map<?,?> data, String error, 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(PermissionDefault value)Sets the default value of this permission.voidsetDescription(String value)Sets the description of this permission.
-
Field Details
-
Constructor Details
-
Method Details
-
getName
Returns the unique fully qualified name of this Permission- Returns:
- Fully qualified name
-
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
Gets the default value of this permission.- Returns:
- Default value of this permission.
-
setDefault
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
Gets a brief description of this permission, may be empty- Returns:
- Brief description of this permission
-
setDescription
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
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
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
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 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.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 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.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 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.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
-