Package de.dytanic.cloudnet.permission
Class DefaultDatabasePermissionManagement
- java.lang.Object
-
- de.dytanic.cloudnet.driver.permission.DefaultPermissionManagement
-
- de.dytanic.cloudnet.driver.permission.DefaultCachedPermissionManagement
-
- de.dytanic.cloudnet.permission.ClusterSynchronizedPermissionManagement
-
- de.dytanic.cloudnet.permission.DefaultDatabasePermissionManagement
-
- All Implemented Interfaces:
de.dytanic.cloudnet.driver.permission.CachedPermissionManagement,de.dytanic.cloudnet.driver.permission.DefaultSynchronizedPermissionManagement,de.dytanic.cloudnet.driver.permission.IPermissionManagement,NodePermissionManagement
public class DefaultDatabasePermissionManagement extends ClusterSynchronizedPermissionManagement implements de.dytanic.cloudnet.driver.permission.DefaultSynchronizedPermissionManagement
-
-
Constructor Summary
Constructors Constructor Description DefaultDatabasePermissionManagement(java.util.concurrent.Callable<AbstractDatabaseProvider> databaseProviderCallable)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionGroup>addGroupAsync(@NotNull java.lang.String role, int potency)de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionGroup>addGroupWithoutClusterSyncAsync(de.dytanic.cloudnet.driver.permission.IPermissionGroup permissionGroup)@NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionUser>addUserAsync(@NotNull java.lang.String name, @NotNull java.lang.String password, int potency)de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionUser>addUserWithoutClusterSyncAsync(de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)booleancontainsGroup(@NotNull java.lang.String name)@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean>containsGroupAsync(@NotNull java.lang.String group)booleancontainsUser(@NotNull java.util.UUID uniqueId)@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean>containsUserAsync(@NotNull java.lang.String name)@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean>containsUserAsync(@NotNull java.util.UUID uniqueId)de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void>deleteGroupWithoutClusterSyncAsync(de.dytanic.cloudnet.driver.permission.IPermissionGroup group)de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void>deleteGroupWithoutClusterSyncAsync(java.lang.String group)de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean>deleteUserWithoutClusterSyncAsync(de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)de.dytanic.cloudnet.driver.database.DatabasegetDatabase()java.util.concurrent.Callable<AbstractDatabaseProvider>getDatabaseProviderCallable()@NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionGroup>getDefaultPermissionGroupAsync()@NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionUser>getFirstUserAsync(java.lang.String name)@NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionGroup>getGroupAsync(@NotNull java.lang.String name)java.util.Collection<de.dytanic.cloudnet.driver.permission.IPermissionGroup>getGroups()@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<de.dytanic.cloudnet.driver.permission.IPermissionGroup>>getGroupsAsync()@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<de.dytanic.cloudnet.driver.permission.IPermissionGroup>>getGroupsAsync(@Nullable de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)@NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionUser>getOrCreateUserAsync(@NotNull java.util.UUID uniqueId, @NotNull java.lang.String name)java.util.Map<java.lang.String,de.dytanic.cloudnet.driver.permission.IPermissionGroup>getPermissionGroupsMap()de.dytanic.cloudnet.driver.permission.IPermissionManagementHandlergetPermissionManagementHandler()@NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionUser>getUserAsync(@NotNull java.util.UUID uniqueId)@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<de.dytanic.cloudnet.driver.permission.IPermissionUser>>getUsersAsync()@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.List<de.dytanic.cloudnet.driver.permission.IPermissionUser>>getUsersAsync(@NotNull java.lang.String name)@NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<de.dytanic.cloudnet.driver.permission.IPermissionUser>>getUsersByGroupAsync(@NotNull java.lang.String group)voidinit()booleanneedsDatabaseSync()booleanreload()de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void>setGroupsWithoutClusterSyncAsync(java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionGroup> groups)voidsetPermissionManagementHandler(de.dytanic.cloudnet.driver.permission.IPermissionManagementHandler permissionManagementHandler)de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void>setUsersWithoutClusterSyncAsync(java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionUser> users)de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void>updateGroupWithoutClusterSyncAsync(de.dytanic.cloudnet.driver.permission.IPermissionGroup permissionGroup)de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void>updateUserWithoutClusterSyncAsync(de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)-
Methods inherited from class de.dytanic.cloudnet.permission.ClusterSynchronizedPermissionManagement
addGroupAsync, addUserAsync, deleteGroupAsync, deleteGroupAsync, deleteUserAsync, deleteUserAsync, setGroups, setGroupsAsync, setUsersAsync, updateGroupAsync, updateUserAsync
-
Methods inherited from class de.dytanic.cloudnet.driver.permission.DefaultCachedPermissionManagement
acquireLock, acquireLock, getCachedGroup, getCachedPermissionGroups, getCachedPermissionUsers, getCachedUser, handleGroupRemove, handleUserRemove, isLocked, isLocked, unlock, unlock, unlockFully, unlockFully
-
Methods inherited from class de.dytanic.cloudnet.driver.permission.DefaultPermissionManagement
canBeOverwritten, collectAllGroupPermissionsInto, collectAllPermissions, collectAllPermissionsTo, collectPermissionsInto, findHighestPermission, getAllPermissions, getAllPermissions, getChildPermissionManagement, getExtendedGroups, getGroups, getHighestPermissionGroup, getPermissionResult, getPermissionResult, getPermissionResult, getPermissionResult, getPermissionResult, getPermissionResult, getUser, getUserByGroup, modifyGroupAsync, modifyUserAsync, modifyUsersAsync, testPermissible, testPermissionGroup, testPermissionUser, tryExtendedGroups, tryExtendedGroups
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.dytanic.cloudnet.driver.permission.DefaultSynchronizedPermissionManagement
addGroup, addGroup, addUser, addUser, containsUser, deleteGroup, deleteGroup, deleteUser, deleteUser, getDefaultPermissionGroup, getFirstUser, getGroup, getOrCreateUser, getUser, getUsers, getUsers, getUsersByGroup, modifyGroup, modifyUser, modifyUsers, setGroups, setUsers, updateGroup, updateUser
-
Methods inherited from interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
addGroupAsync, addUserAsync, canBeOverwritten, deleteGroupAsync, deleteGroupAsync, deleteUserAsync, deleteUserAsync, findHighestPermission, getAllPermissions, getAllPermissions, getChildPermissionManagement, getExtendedGroups, getGroups, getHighestPermissionGroup, getPermissionResult, getPermissionResult, getPermissionResult, getPermissionResult, getPermissionResult, getUser, hasPermission, hasPermission, hasPermission, modifyGroupAsync, modifyUserAsync, modifyUsersAsync, setGroupsAsync, setUsersAsync, testPermissible, testPermissionGroup, testPermissionUser, updateGroupAsync, updateUserAsync
-
-
-
-
Constructor Detail
-
DefaultDatabasePermissionManagement
public DefaultDatabasePermissionManagement(java.util.concurrent.Callable<AbstractDatabaseProvider> databaseProviderCallable)
-
-
Method Detail
-
init
public void init()
- Specified by:
initin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
addUserWithoutClusterSyncAsync
public de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionUser> addUserWithoutClusterSyncAsync(de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)
- Specified by:
addUserWithoutClusterSyncAsyncin classClusterSynchronizedPermissionManagement
-
updateUserWithoutClusterSyncAsync
public de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> updateUserWithoutClusterSyncAsync(de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)
- Specified by:
updateUserWithoutClusterSyncAsyncin classClusterSynchronizedPermissionManagement
-
deleteUserWithoutClusterSyncAsync
public de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> deleteUserWithoutClusterSyncAsync(de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)
- Specified by:
deleteUserWithoutClusterSyncAsyncin classClusterSynchronizedPermissionManagement
-
containsUser
public boolean containsUser(@NotNull @NotNull java.util.UUID uniqueId)- Specified by:
containsUserin interfacede.dytanic.cloudnet.driver.permission.DefaultSynchronizedPermissionManagement- Specified by:
containsUserin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
containsUserAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> containsUserAsync(@NotNull @NotNull java.util.UUID uniqueId)- Specified by:
containsUserAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
containsUserAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> containsUserAsync(@NotNull @NotNull java.lang.String name)- Specified by:
containsUserAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
getUserAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionUser> getUserAsync(@NotNull @NotNull java.util.UUID uniqueId)- Specified by:
getUserAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
getOrCreateUserAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionUser> getOrCreateUserAsync(@NotNull @NotNull java.util.UUID uniqueId, @NotNull @NotNull java.lang.String name)- Specified by:
getOrCreateUserAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
getUsersAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.List<de.dytanic.cloudnet.driver.permission.IPermissionUser>> getUsersAsync(@NotNull @NotNull java.lang.String name)- Specified by:
getUsersAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
getFirstUserAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionUser> getFirstUserAsync(java.lang.String name)
- Specified by:
getFirstUserAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
getUsersAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<de.dytanic.cloudnet.driver.permission.IPermissionUser>> getUsersAsync()
- Specified by:
getUsersAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
setUsersWithoutClusterSyncAsync
public de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> setUsersWithoutClusterSyncAsync(java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionUser> users)
- Specified by:
setUsersWithoutClusterSyncAsyncin classClusterSynchronizedPermissionManagement
-
getUsersByGroupAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<de.dytanic.cloudnet.driver.permission.IPermissionUser>> getUsersByGroupAsync(@NotNull @NotNull java.lang.String group)- Specified by:
getUsersByGroupAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
addGroupAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionGroup> addGroupAsync(@NotNull @NotNull java.lang.String role, int potency)- Specified by:
addGroupAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
containsGroupAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> containsGroupAsync(@NotNull @NotNull java.lang.String group)- Specified by:
containsGroupAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
addGroupWithoutClusterSyncAsync
public de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionGroup> addGroupWithoutClusterSyncAsync(de.dytanic.cloudnet.driver.permission.IPermissionGroup permissionGroup)
- Specified by:
addGroupWithoutClusterSyncAsyncin classClusterSynchronizedPermissionManagement
-
updateGroupWithoutClusterSyncAsync
public de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> updateGroupWithoutClusterSyncAsync(de.dytanic.cloudnet.driver.permission.IPermissionGroup permissionGroup)
- Specified by:
updateGroupWithoutClusterSyncAsyncin classClusterSynchronizedPermissionManagement
-
deleteGroupWithoutClusterSyncAsync
public de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> deleteGroupWithoutClusterSyncAsync(java.lang.String group)
- Specified by:
deleteGroupWithoutClusterSyncAsyncin classClusterSynchronizedPermissionManagement
-
deleteGroupWithoutClusterSyncAsync
public de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> deleteGroupWithoutClusterSyncAsync(de.dytanic.cloudnet.driver.permission.IPermissionGroup group)
- Specified by:
deleteGroupWithoutClusterSyncAsyncin classClusterSynchronizedPermissionManagement
-
containsGroup
public boolean containsGroup(@NotNull @NotNull java.lang.String name)- Specified by:
containsGroupin interfacede.dytanic.cloudnet.driver.permission.DefaultSynchronizedPermissionManagement- Specified by:
containsGroupin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
getGroupAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionGroup> getGroupAsync(@NotNull @NotNull java.lang.String name)- Specified by:
getGroupAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
getDefaultPermissionGroupAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionGroup> getDefaultPermissionGroupAsync()
- Specified by:
getDefaultPermissionGroupAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
getGroupsAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<de.dytanic.cloudnet.driver.permission.IPermissionGroup>> getGroupsAsync()
- Specified by:
getGroupsAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
getGroups
public java.util.Collection<de.dytanic.cloudnet.driver.permission.IPermissionGroup> getGroups()
- Specified by:
getGroupsin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
getGroupsAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.util.Collection<de.dytanic.cloudnet.driver.permission.IPermissionGroup>> getGroupsAsync(@Nullable @Nullable de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)- Specified by:
getGroupsAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
addUserAsync
@NotNull public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionUser> addUserAsync(@NotNull @NotNull java.lang.String name, @NotNull @NotNull java.lang.String password, int potency)- Specified by:
addUserAsyncin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
setGroupsWithoutClusterSyncAsync
public de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> setGroupsWithoutClusterSyncAsync(java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionGroup> groups)
- Specified by:
setGroupsWithoutClusterSyncAsyncin classClusterSynchronizedPermissionManagement
-
needsDatabaseSync
public boolean needsDatabaseSync()
- Specified by:
needsDatabaseSyncin classClusterSynchronizedPermissionManagement
-
reload
public boolean reload()
- Specified by:
reloadin interfacede.dytanic.cloudnet.driver.permission.IPermissionManagement
-
getDatabase
public de.dytanic.cloudnet.driver.database.Database getDatabase()
-
getPermissionGroupsMap
public java.util.Map<java.lang.String,de.dytanic.cloudnet.driver.permission.IPermissionGroup> getPermissionGroupsMap()
-
getDatabaseProviderCallable
public java.util.concurrent.Callable<AbstractDatabaseProvider> getDatabaseProviderCallable()
-
getPermissionManagementHandler
public de.dytanic.cloudnet.driver.permission.IPermissionManagementHandler getPermissionManagementHandler()
- Specified by:
getPermissionManagementHandlerin interfaceNodePermissionManagement
-
setPermissionManagementHandler
public void setPermissionManagementHandler(de.dytanic.cloudnet.driver.permission.IPermissionManagementHandler permissionManagementHandler)
- Specified by:
setPermissionManagementHandlerin interfaceNodePermissionManagement
-
-