Interface IPermissionManagement
-
- All Known Subinterfaces:
DefaultPermissionManagement,DefaultSynchronizedPermissionManagement
public interface IPermissionManagement
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description IPermissionGroupaddGroup(@NotNull IPermissionGroup permissionGroup)Adds a new permission group to the list of groups.IPermissionGroupaddGroup(@NotNull java.lang.String role, int potency)@NotNull de.dytanic.cloudnet.common.concurrent.ITask<IPermissionGroup>addGroupAsync(@NotNull IPermissionGroup permissionGroup)Adds a new permission group to the list of groups.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<IPermissionGroup>addGroupAsync(@NotNull java.lang.String role, int potency)IPermissionUseraddUser(@NotNull IPermissionUser permissionUser)Adds a new user to the database.IPermissionUseraddUser(@NotNull java.lang.String name, @NotNull java.lang.String password, int potency)@NotNull de.dytanic.cloudnet.common.concurrent.ITask<IPermissionUser>addUserAsync(@NotNull IPermissionUser permissionUser)Adds a new user to the database.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<IPermissionUser>addUserAsync(@NotNull java.lang.String name, @NotNull java.lang.String password, int potency)booleancanBeOverwritten()booleancontainsGroup(@NotNull java.lang.String group)Checks if a specific group exists.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean>containsGroupAsync(@NotNull java.lang.String group)Checks if a specific group exists.booleancontainsUser(@NotNull java.lang.String name)Checks if at least one user with the given name is stored in the database.booleancontainsUser(@NotNull java.util.UUID uniqueId)Checks if a user with the given uniqueId is stored in the database.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean>containsUserAsync(@NotNull java.lang.String name)Checks if at least one user with the given name is stored in the database.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean>containsUserAsync(@NotNull java.util.UUID uniqueId)Checks if a user with the given uniqueId is stored in the database.voiddeleteGroup(@NotNull IPermissionGroup permissionGroup)Deletes a group by its name out of the list of groups.voiddeleteGroup(@NotNull java.lang.String name)Deletes a group by its name out of the list of groups.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void>deleteGroupAsync(@NotNull IPermissionGroup permissionGroup)Deletes a group by its name out of the list of groups.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void>deleteGroupAsync(@NotNull java.lang.String name)Deletes a group by its name out of the list of groups.booleandeleteUser(@NotNull IPermissionUser permissionUser)Deletes one user with the uniqueId of the given user.booleandeleteUser(@NotNull java.lang.String name)Deletes all users in the database matching the given name.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean>deleteUserAsync(@NotNull IPermissionUser permissionUser)Deletes one user with the uniqueId of the given user.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean>deleteUserAsync(@NotNull java.lang.String name)Deletes all users in the database matching the given name.java.util.Collection<Permission>getAllPermissions(@NotNull IPermissible permissible)java.util.Collection<Permission>getAllPermissions(@NotNull IPermissible permissible, @Nullable java.lang.String group)IPermissionManagementgetChildPermissionManagement()IPermissionGroupgetDefaultPermissionGroup()de.dytanic.cloudnet.common.concurrent.ITask<IPermissionGroup>getDefaultPermissionGroupAsync()java.util.Collection<IPermissionGroup>getExtendedGroups(@Nullable IPermissionGroup group)IPermissionUsergetFirstUser(java.lang.String name)@NotNull de.dytanic.cloudnet.common.concurrent.ITask<IPermissionUser>getFirstUserAsync(java.lang.String name)@Nullable IPermissionGroupgetGroup(@NotNull java.lang.String name)Gets a specific group by its name.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<IPermissionGroup>getGroupAsync(@NotNull java.lang.String name)Gets a specific group by its name.java.util.Collection<IPermissionGroup>getGroups()Gets the list of all groups in the Cloud.java.util.Collection<IPermissionGroup>getGroups(@Nullable IPermissionUser permissionUser)@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<IPermissionGroup>>getGroupsAsync()Gets the list of all groups in the Cloud.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<IPermissionGroup>>getGroupsAsync(@Nullable IPermissionUser permissionUser)IPermissionGroupgetHighestPermissionGroup(@NotNull IPermissionUser permissionUser)@NotNull PermissionCheckResultgetPermissionResult(@NotNull IPermissionUser permissionUser, @NotNull Permission permission)@NotNull PermissionCheckResultgetPermissionResult(@NotNull IPermissionUser permissionUser, @NotNull java.lang.String permission)@NotNull PermissionCheckResultgetPermissionResult(@NotNull IPermissionUser permissionUser, @NotNull java.lang.String group, @NotNull Permission permission)@Nullable IPermissionUsergetUser(@NotNull java.util.UUID uniqueId)Gets a user with the given uniqueId out of the database.java.util.List<IPermissionUser>getUser(java.lang.String name)Deprecated.usegetUsers(String)instead@NotNull de.dytanic.cloudnet.common.concurrent.ITask<IPermissionUser>getUserAsync(@NotNull java.util.UUID uniqueId)Gets a user with the given uniqueId out of the database.java.util.Collection<IPermissionUser>getUsers()Gets a list of all users stored in the database.@NotNull java.util.List<IPermissionUser>getUsers(@NotNull java.lang.String name)Gets a list of all users with the given name out of the database.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<IPermissionUser>>getUsersAsync()Gets a list of all users stored in the database.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.List<IPermissionUser>>getUsersAsync(@NotNull java.lang.String name)Gets a list of all users with the given name out of the database.java.util.Collection<IPermissionUser>getUsersByGroup(@NotNull java.lang.String group)Gets a list of all users stored in the database with the given group.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<IPermissionUser>>getUsersByGroupAsync(@NotNull java.lang.String group)Gets a list of all users stored in the database with the given group.default booleanhasPermission(@NotNull IPermissionUser permissionUser, @NotNull Permission permission)default booleanhasPermission(@NotNull IPermissionUser permissionUser, @NotNull java.lang.String permission)default booleanhasPermission(@NotNull IPermissionUser permissionUser, @NotNull java.lang.String group, @NotNull Permission permission)booleanreload()voidsetGroups(@Nullable java.util.Collection<? extends IPermissionGroup> groups)Clears all groups in the Cloud and sets given groups.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void>setGroupsAsync(@Nullable java.util.Collection<? extends IPermissionGroup> groups)Clears all groups in the Cloud and sets given groups.voidsetUsers(@Nullable java.util.Collection<? extends IPermissionUser> users)Clears all users stored in the database and inserts the given list.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void>setUsersAsync(@NotNull java.util.Collection<? extends IPermissionUser> users)Clears all users stored in the database and inserts the given list.booleantestPermissible(@Nullable IPermissible permissible)booleantestPermissionGroup(@Nullable IPermissionGroup permissionGroup)booleantestPermissionUser(@Nullable IPermissionUser permissionUser)voidupdateGroup(@NotNull IPermissionGroup permissionGroup)Updates a permission group in the list of groups.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void>updateGroupAsync(@NotNull IPermissionGroup permissionGroup)Updates a permission group in the list of groups.voidupdateUser(@NotNull IPermissionUser permissionUser)Updates an already existing user in the database.@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void>updateUserAsync(@NotNull IPermissionUser permissionUser)Updates an already existing user in the database.
-
-
-
Method Detail
-
getChildPermissionManagement
IPermissionManagement getChildPermissionManagement()
-
canBeOverwritten
boolean canBeOverwritten()
-
getUser
@Deprecated @ScheduledForRemoval(inVersion="3.5") java.util.List<IPermissionUser> getUser(java.lang.String name)
Deprecated.usegetUsers(String)instead
-
getFirstUser
IPermissionUser getFirstUser(java.lang.String name)
-
reload
boolean reload()
-
getHighestPermissionGroup
IPermissionGroup getHighestPermissionGroup(@NotNull @NotNull IPermissionUser permissionUser)
-
getDefaultPermissionGroup
IPermissionGroup getDefaultPermissionGroup()
-
testPermissionGroup
boolean testPermissionGroup(@Nullable @Nullable IPermissionGroup permissionGroup)
-
testPermissionUser
boolean testPermissionUser(@Nullable @Nullable IPermissionUser permissionUser)
-
testPermissible
boolean testPermissible(@Nullable @Nullable IPermissible permissible)
-
addUser
IPermissionUser addUser(@NotNull @NotNull java.lang.String name, @NotNull @NotNull java.lang.String password, int potency)
-
addGroup
IPermissionGroup addGroup(@NotNull @NotNull java.lang.String role, int potency)
-
getGroups
java.util.Collection<IPermissionGroup> getGroups(@Nullable @Nullable IPermissionUser permissionUser)
-
getExtendedGroups
java.util.Collection<IPermissionGroup> getExtendedGroups(@Nullable @Nullable IPermissionGroup group)
-
hasPermission
default boolean hasPermission(@NotNull @NotNull IPermissionUser permissionUser, @NotNull @NotNull java.lang.String permission)
-
hasPermission
default boolean hasPermission(@NotNull @NotNull IPermissionUser permissionUser, @NotNull @NotNull Permission permission)
-
hasPermission
default boolean hasPermission(@NotNull @NotNull IPermissionUser permissionUser, @NotNull @NotNull java.lang.String group, @NotNull @NotNull Permission permission)
-
getPermissionResult
@NotNull @NotNull PermissionCheckResult getPermissionResult(@NotNull @NotNull IPermissionUser permissionUser, @NotNull @NotNull java.lang.String permission)
-
getPermissionResult
@NotNull @NotNull PermissionCheckResult getPermissionResult(@NotNull @NotNull IPermissionUser permissionUser, @NotNull @NotNull Permission permission)
-
getPermissionResult
@NotNull @NotNull PermissionCheckResult getPermissionResult(@NotNull @NotNull IPermissionUser permissionUser, @NotNull @NotNull java.lang.String group, @NotNull @NotNull Permission permission)
-
getAllPermissions
java.util.Collection<Permission> getAllPermissions(@NotNull @NotNull IPermissible permissible)
-
getAllPermissions
java.util.Collection<Permission> getAllPermissions(@NotNull @NotNull IPermissible permissible, @Nullable @Nullable java.lang.String group)
-
addUser
IPermissionUser addUser(@NotNull @NotNull IPermissionUser permissionUser)
Adds a new user to the database.- Parameters:
permissionUser- the user to be added- Returns:
- the new user
-
updateUser
void updateUser(@NotNull @NotNull IPermissionUser permissionUser)Updates an already existing user in the database.- Parameters:
permissionUser- the user to be updated
-
deleteUser
boolean deleteUser(@NotNull @NotNull java.lang.String name)Deletes all users in the database matching the given name. This method is case-sensitive.- Parameters:
name- the name of the users to be deleted
-
deleteUser
boolean deleteUser(@NotNull @NotNull IPermissionUser permissionUser)Deletes one user with the uniqueId of the given user.- Parameters:
permissionUser- the user to be deleted
-
containsUser
boolean containsUser(@NotNull @NotNull java.util.UUID uniqueId)Checks if a user with the given uniqueId is stored in the database.- Parameters:
uniqueId- the uniqueId of the user- Returns:
trueif there is a user with that uniqueId,falseotherwise
-
containsUser
boolean containsUser(@NotNull @NotNull java.lang.String name)Checks if at least one user with the given name is stored in the database. This method is case-sensitive.- Parameters:
name- the name of the user- Returns:
trueif there is a user with that name,falseotherwise
-
getUser
@Nullable @Nullable IPermissionUser getUser(@NotNull @NotNull java.util.UUID uniqueId)
Gets a user with the given uniqueId out of the database.- Parameters:
uniqueId- the uniqueId of the user- Returns:
- the
IPermissionUserfrom the database ornullif there is no user with that uniqueId stored
-
getUsers
@NotNull @NotNull java.util.List<IPermissionUser> getUsers(@NotNull @NotNull java.lang.String name)
Gets a list of all users with the given name out of the database. This can only return null when the connection to the database (or when it is executed in a Wrapper instance the connection to the cloud) times out.- Parameters:
name- the name of the users- Returns:
- a list of all
IPermissionUsers stored in the database or an empty list if there is no user with that name stored.
-
getUsers
java.util.Collection<IPermissionUser> getUsers()
Gets a list of all users stored in the database. This can only return null when the connection to the database (or when it is executed in a Wrapper instance the connection to the cloud) times out.This method shouldn't be used when there are many users stored in the database, because that takes a lot of memory.
- Returns:
- a list of all
IPermissionUsers stored in the database or an empty list if there is no user with that name stored.
-
setUsers
void setUsers(@Nullable @Nullable java.util.Collection<? extends IPermissionUser> users)Clears all users stored in the database and inserts the given list.- Parameters:
users- the newIPermissionUsers to be stored in the database
-
getUsersByGroup
java.util.Collection<IPermissionUser> getUsersByGroup(@NotNull @NotNull java.lang.String group)
Gets a list of all users stored in the database with the given group. This can only return null when the connection to the database (or when it is executed in a Wrapper instance the connection to the cloud) times out.This method shouldn't be used when there are many users with that group stored in the database, because that takes a lot of memory.
- Returns:
- a list of all
IPermissionUsers stored in the database or an empty list if there is no user with that name stored.
-
addGroup
IPermissionGroup addGroup(@NotNull @NotNull IPermissionGroup permissionGroup)
Adds a new permission group to the list of groups. If a group with that name already exists, it will be deleted and created again.- Parameters:
permissionGroup- theIPermissionGroupto be added- Returns:
- the new group
-
updateGroup
void updateGroup(@NotNull @NotNull IPermissionGroup permissionGroup)Updates a permission group in the list of groups. If a group with that name doesn't exist, it will be created.- Parameters:
permissionGroup- theIPermissionGroupto be updated
-
deleteGroup
void deleteGroup(@NotNull @NotNull java.lang.String name)Deletes a group by its name out of the list of groups. If a group with that name doesn't exist, nothing happens.- Parameters:
name- the case-sensitive name of the group
-
deleteGroup
void deleteGroup(@NotNull @NotNull IPermissionGroup permissionGroup)Deletes a group by its name out of the list of groups. If a group with that name doesn't exist, nothing happens.- Parameters:
permissionGroup- theIPermissionGroupto be deleted
-
containsGroup
boolean containsGroup(@NotNull @NotNull java.lang.String group)Checks if a specific group exists.- Parameters:
group- the case-sensitive name of the group- Returns:
trueif the group exists,falseotherwise
-
getGroup
@Nullable @Nullable IPermissionGroup getGroup(@NotNull @NotNull java.lang.String name)
Gets a specific group by its name.- Parameters:
name- the case-sensitive name of the group- Returns:
- the
IPermissionUserif it exists,nullotherwise
-
getGroups
java.util.Collection<IPermissionGroup> getGroups()
Gets the list of all groups in the Cloud.- Returns:
- a list of
IPermissionGroups registered in the cloud or an empty list if there is no group registered
-
setGroups
void setGroups(@Nullable @Nullable java.util.Collection<? extends IPermissionGroup> groups)Clears all groups in the Cloud and sets given groups.- Parameters:
groups- the new groups
-
getGroupsAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<IPermissionGroup>> getGroupsAsync(@Nullable @Nullable IPermissionUser permissionUser)
-
addUserAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<IPermissionUser> addUserAsync(@NotNull @NotNull IPermissionUser permissionUser)
Adds a new user to the database.- Parameters:
permissionUser- the user to be added
-
addUserAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<IPermissionUser> addUserAsync(@NotNull @NotNull java.lang.String name, @NotNull @NotNull java.lang.String password, int potency)
-
updateUserAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> updateUserAsync(@NotNull @NotNull IPermissionUser permissionUser)Updates an already existing user in the database.- Parameters:
permissionUser- the user to be updated
-
deleteUserAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> deleteUserAsync(@NotNull @NotNull java.lang.String name)Deletes all users in the database matching the given name. This method is case-sensitive.- Parameters:
name- the name of the users to be deleted
-
deleteUserAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> deleteUserAsync(@NotNull @NotNull IPermissionUser permissionUser)Deletes one user with the uniqueId of the given user.- Parameters:
permissionUser- the user to be deleted
-
containsUserAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> containsUserAsync(@NotNull @NotNull java.util.UUID uniqueId)Checks if a user with the given uniqueId is stored in the database.- Parameters:
uniqueId- the uniqueId of the user- Returns:
trueif there is a user with that uniqueId,falseotherwise
-
containsUserAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> containsUserAsync(@NotNull @NotNull java.lang.String name)Checks if at least one user with the given name is stored in the database. This method is case-sensitive.- Parameters:
name- the name of the user- Returns:
trueif there is a user with that name,falseotherwise
-
getUserAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<IPermissionUser> getUserAsync(@NotNull @NotNull java.util.UUID uniqueId)
Gets a user with the given uniqueId out of the database.- Parameters:
uniqueId- the uniqueId of the user- Returns:
- the
IPermissionUserfrom the database ornullif there is no user with that uniqueId stored
-
getUsersAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.List<IPermissionUser>> getUsersAsync(@NotNull @NotNull java.lang.String name)
Gets a list of all users with the given name out of the database. This can only return null when the connection to the database (or when it is executed in a Wrapper instance the connection to the cloud) times out.- Parameters:
name- the name of the users- Returns:
- a list of all
IPermissionUsers stored in the database or an empty list if there is no user with that name stored.
-
getFirstUserAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<IPermissionUser> getFirstUserAsync(java.lang.String name)
-
getUsersAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<IPermissionUser>> getUsersAsync()
Gets a list of all users stored in the database. This can only return null when the connection to the database (or when it is executed in a Wrapper instance the connection to the cloud) times out.This method shouldn't be used when there are many users stored in the database, because that takes a lot of memory.
- Returns:
- a list of all
IPermissionUsers stored in the database or an empty list if there is no user with that name stored.
-
setUsersAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> setUsersAsync(@NotNull @NotNull java.util.Collection<? extends IPermissionUser> users)Clears all users stored in the database and inserts the given list.- Parameters:
users- the newIPermissionUsers to be stored in the database
-
getUsersByGroupAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<IPermissionUser>> getUsersByGroupAsync(@NotNull @NotNull java.lang.String group)
Gets a list of all users stored in the database with the given group. This can only return null when the connection to the database (or when it is executed in a Wrapper instance the connection to the cloud) times out.This method shouldn't be used when there are many users with that group stored in the database, because that takes a lot of memory.
- Returns:
- a list of all
IPermissionUsers stored in the database or an empty list if there is no user with that name stored.
-
addGroupAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<IPermissionGroup> addGroupAsync(@NotNull @NotNull IPermissionGroup permissionGroup)
Adds a new permission group to the list of groups. If a group with that name already exists, it will be deleted and created again.- Parameters:
permissionGroup- theIPermissionGroupto be added
-
addGroupAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<IPermissionGroup> addGroupAsync(@NotNull @NotNull java.lang.String role, int potency)
-
updateGroupAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> updateGroupAsync(@NotNull @NotNull IPermissionGroup permissionGroup)Updates a permission group in the list of groups. If a group with that name doesn't exist, it will be created.- Parameters:
permissionGroup- theIPermissionGroupto be updated
-
deleteGroupAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> deleteGroupAsync(@NotNull @NotNull java.lang.String name)Deletes a group by its name out of the list of groups. If a group with that name doesn't exist, nothing happens.- Parameters:
name- the case-sensitive name of the group
-
deleteGroupAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> deleteGroupAsync(@NotNull @NotNull IPermissionGroup permissionGroup)Deletes a group by its name out of the list of groups. If a group with that name doesn't exist, nothing happens.- Parameters:
permissionGroup- theIPermissionGroupto be deleted
-
containsGroupAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> containsGroupAsync(@NotNull @NotNull java.lang.String group)Checks if a specific group exists.- Parameters:
group- the case-sensitive name of the group- Returns:
trueif the group exists,falseotherwise
-
getGroupAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<IPermissionGroup> getGroupAsync(@NotNull @NotNull java.lang.String name)
Gets a specific group by its name.- Parameters:
name- the case-sensitive name of the group- Returns:
- the
IPermissionUserif it exists,nullotherwise
-
getDefaultPermissionGroupAsync
de.dytanic.cloudnet.common.concurrent.ITask<IPermissionGroup> getDefaultPermissionGroupAsync()
-
getGroupsAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<IPermissionGroup>> getGroupsAsync()
Gets the list of all groups in the Cloud.- Returns:
- a list of
IPermissionGroups registered in the cloud or an empty list if there is no group registered
-
setGroupsAsync
@NotNull @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> setGroupsAsync(@Nullable @Nullable java.util.Collection<? extends IPermissionGroup> groups)Clears all groups in the Cloud and sets given groups.- Parameters:
groups- the new groups
-
-