Class 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
    • Field Summary

      • Fields inherited from class de.dytanic.cloudnet.driver.permission.DefaultCachedPermissionManagement

        permissionGroupCache, permissionGroupLocks, permissionUserCache, permissionUserLocks
    • 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)  
      boolean containsGroup​(@NotNull java.lang.String name)  
      @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> containsGroupAsync​(@NotNull java.lang.String group)  
      boolean containsUser​(@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.Database getDatabase()  
      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.IPermissionManagementHandler getPermissionManagementHandler()  
      @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)  
      void init()  
      boolean needsDatabaseSync()  
      boolean reload()  
      de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> setGroupsWithoutClusterSyncAsync​(java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionGroup> groups)  
      void setPermissionManagementHandler​(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.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:
        init in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • containsUser

        public boolean containsUser​(@NotNull
                                    @NotNull java.util.UUID uniqueId)
        Specified by:
        containsUser in interface de.dytanic.cloudnet.driver.permission.DefaultSynchronizedPermissionManagement
        Specified by:
        containsUser in interface de.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:
        containsUserAsync in interface de.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:
        containsUserAsync in interface de.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:
        getUserAsync in interface de.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:
        getOrCreateUserAsync in interface de.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:
        getUsersAsync in interface de.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:
        getFirstUserAsync in interface de.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:
        getUsersAsync in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • 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:
        getUsersByGroupAsync in interface de.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:
        addGroupAsync in interface de.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:
        containsGroupAsync in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • containsGroup

        public boolean containsGroup​(@NotNull
                                     @NotNull java.lang.String name)
        Specified by:
        containsGroup in interface de.dytanic.cloudnet.driver.permission.DefaultSynchronizedPermissionManagement
        Specified by:
        containsGroup in interface de.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:
        getGroupAsync in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • getDefaultPermissionGroupAsync

        @NotNull
        public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionGroup> getDefaultPermissionGroupAsync()
        Specified by:
        getDefaultPermissionGroupAsync in interface de.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:
        getGroupsAsync in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • getGroups

        public java.util.Collection<de.dytanic.cloudnet.driver.permission.IPermissionGroup> getGroups()
        Specified by:
        getGroups in interface de.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:
        getGroupsAsync in interface de.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:
        addUserAsync in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • reload

        public boolean reload()
        Specified by:
        reload in interface de.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()