Class ClusterSynchronizedPermissionManagement

  • All Implemented Interfaces:
    de.dytanic.cloudnet.driver.permission.CachedPermissionManagement, de.dytanic.cloudnet.driver.permission.IPermissionManagement, NodePermissionManagement
    Direct Known Subclasses:
    DefaultDatabasePermissionManagement

    public abstract class ClusterSynchronizedPermissionManagement
    extends de.dytanic.cloudnet.driver.permission.DefaultCachedPermissionManagement
    implements NodePermissionManagement
    • Field Summary

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

        permissionGroupCache, permissionGroupLocks, permissionUserCache, permissionUserLocks
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      @NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionGroup> addGroupAsync​(@NotNull de.dytanic.cloudnet.driver.permission.IPermissionGroup permissionGroup)  
      abstract 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 de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)  
      abstract de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionUser> addUserWithoutClusterSyncAsync​(de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)  
      @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> deleteGroupAsync​(@NotNull de.dytanic.cloudnet.driver.permission.IPermissionGroup permissionGroup)  
      @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> deleteGroupAsync​(@NotNull java.lang.String name)  
      abstract de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> deleteGroupWithoutClusterSyncAsync​(de.dytanic.cloudnet.driver.permission.IPermissionGroup group)  
      abstract de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> deleteGroupWithoutClusterSyncAsync​(java.lang.String group)  
      @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> deleteUserAsync​(@NotNull de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)  
      @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> deleteUserAsync​(@NotNull java.lang.String name)  
      abstract de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> deleteUserWithoutClusterSyncAsync​(de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)  
      abstract boolean needsDatabaseSync()  
      void setGroups​(java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionGroup> groups)  
      @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> setGroupsAsync​(java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionGroup> groups)  
      abstract de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> setGroupsWithoutClusterSyncAsync​(java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionGroup> groups)  
      @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> setUsersAsync​(@Nullable java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionUser> users)  
      abstract de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> setUsersWithoutClusterSyncAsync​(java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionUser> users)  
      @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> updateGroupAsync​(@NotNull de.dytanic.cloudnet.driver.permission.IPermissionGroup permissionGroup)  
      abstract de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> updateGroupWithoutClusterSyncAsync​(de.dytanic.cloudnet.driver.permission.IPermissionGroup permissionGroup)  
      @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> updateUserAsync​(@NotNull de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)  
      abstract 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.IPermissionManagement

        addGroup, addGroup, addGroupAsync, addUser, addUser, addUserAsync, canBeOverwritten, containsGroup, containsGroupAsync, containsUser, containsUser, containsUserAsync, containsUserAsync, deleteGroup, deleteGroup, deleteUser, deleteUser, findHighestPermission, getAllPermissions, getAllPermissions, getChildPermissionManagement, getDefaultPermissionGroup, getDefaultPermissionGroupAsync, getExtendedGroups, getFirstUser, getFirstUserAsync, getGroup, getGroupAsync, getGroups, getGroups, getGroupsAsync, getGroupsAsync, getHighestPermissionGroup, getOrCreateUser, getOrCreateUserAsync, getPermissionResult, getPermissionResult, getPermissionResult, getPermissionResult, getPermissionResult, getUser, getUser, getUserAsync, getUsers, getUsers, getUsersAsync, getUsersAsync, getUsersByGroup, getUsersByGroupAsync, hasPermission, hasPermission, hasPermission, init, modifyGroup, modifyGroupAsync, modifyUser, modifyUserAsync, modifyUsers, modifyUsersAsync, reload, setUsers, testPermissible, testPermissionGroup, testPermissionUser, updateGroup, updateUser
    • Constructor Detail

      • ClusterSynchronizedPermissionManagement

        public ClusterSynchronizedPermissionManagement()
    • Method Detail

      • addUserAsync

        @NotNull
        public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionUser> addUserAsync​(@NotNull
                                                                                                                                        @NotNull de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)
        Specified by:
        addUserAsync in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • updateUserAsync

        @NotNull
        public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> updateUserAsync​(@NotNull
                                                                                                    @NotNull de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)
        Specified by:
        updateUserAsync in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • deleteUserAsync

        @NotNull
        public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> deleteUserAsync​(@NotNull
                                                                                                       @NotNull java.lang.String name)
        Specified by:
        deleteUserAsync in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • deleteUserAsync

        @NotNull
        public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> deleteUserAsync​(@NotNull
                                                                                                       @NotNull de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)
        Specified by:
        deleteUserAsync in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • setUsersAsync

        @NotNull
        public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> setUsersAsync​(@Nullable
                                                                                                  @Nullable java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionUser> users)
        Specified by:
        setUsersAsync 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 de.dytanic.cloudnet.driver.permission.IPermissionGroup permissionGroup)
        Specified by:
        addGroupAsync in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • updateGroupAsync

        @NotNull
        public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> updateGroupAsync​(@NotNull
                                                                                                     @NotNull de.dytanic.cloudnet.driver.permission.IPermissionGroup permissionGroup)
        Specified by:
        updateGroupAsync in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • deleteGroupAsync

        @NotNull
        public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> deleteGroupAsync​(@NotNull
                                                                                                     @NotNull de.dytanic.cloudnet.driver.permission.IPermissionGroup permissionGroup)
        Specified by:
        deleteGroupAsync in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • deleteGroupAsync

        @NotNull
        public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> deleteGroupAsync​(@NotNull
                                                                                                     @NotNull java.lang.String name)
        Specified by:
        deleteGroupAsync in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • setGroupsAsync

        @NotNull
        public @NotNull de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> setGroupsAsync​(java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionGroup> groups)
        Specified by:
        setGroupsAsync in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • setGroups

        public void setGroups​(java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionGroup> groups)
        Specified by:
        setGroups in interface de.dytanic.cloudnet.driver.permission.IPermissionManagement
      • addUserWithoutClusterSyncAsync

        public abstract de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionUser> addUserWithoutClusterSyncAsync​(de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)
      • updateUserWithoutClusterSyncAsync

        public abstract de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> updateUserWithoutClusterSyncAsync​(de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)
      • deleteUserWithoutClusterSyncAsync

        public abstract de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Boolean> deleteUserWithoutClusterSyncAsync​(de.dytanic.cloudnet.driver.permission.IPermissionUser permissionUser)
      • setUsersWithoutClusterSyncAsync

        public abstract de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> setUsersWithoutClusterSyncAsync​(java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionUser> users)
      • addGroupWithoutClusterSyncAsync

        public abstract de.dytanic.cloudnet.common.concurrent.ITask<de.dytanic.cloudnet.driver.permission.IPermissionGroup> addGroupWithoutClusterSyncAsync​(de.dytanic.cloudnet.driver.permission.IPermissionGroup permissionGroup)
      • updateGroupWithoutClusterSyncAsync

        public abstract de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> updateGroupWithoutClusterSyncAsync​(de.dytanic.cloudnet.driver.permission.IPermissionGroup permissionGroup)
      • deleteGroupWithoutClusterSyncAsync

        public abstract de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> deleteGroupWithoutClusterSyncAsync​(java.lang.String group)
      • deleteGroupWithoutClusterSyncAsync

        public abstract de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> deleteGroupWithoutClusterSyncAsync​(de.dytanic.cloudnet.driver.permission.IPermissionGroup group)
      • setGroupsWithoutClusterSyncAsync

        public abstract de.dytanic.cloudnet.common.concurrent.ITask<java.lang.Void> setGroupsWithoutClusterSyncAsync​(java.util.Collection<? extends de.dytanic.cloudnet.driver.permission.IPermissionGroup> groups)
      • needsDatabaseSync

        public abstract boolean needsDatabaseSync()