Class DefaultCachedPermissionManagement
- java.lang.Object
-
- de.dytanic.cloudnet.driver.permission.DefaultPermissionManagement
-
- de.dytanic.cloudnet.driver.permission.DefaultCachedPermissionManagement
-
- All Implemented Interfaces:
CachedPermissionManagement,IPermissionManagement
public abstract class DefaultCachedPermissionManagement extends DefaultPermissionManagement implements CachedPermissionManagement
-
-
Field Summary
Fields Modifier and Type Field Description protected com.google.common.cache.Cache<java.lang.String,IPermissionGroup>permissionGroupCacheprotected java.util.Map<java.lang.String,java.util.concurrent.atomic.AtomicInteger>permissionGroupLocksprotected com.google.common.cache.Cache<java.util.UUID,IPermissionUser>permissionUserCacheprotected java.util.Map<java.util.UUID,java.util.concurrent.atomic.AtomicInteger>permissionUserLocks
-
Constructor Summary
Constructors Constructor Description DefaultCachedPermissionManagement()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidacquireLock(IPermissionGroup group)voidacquireLock(IPermissionUser user)@Nullable IPermissionGroupgetCachedGroup(java.lang.String name)java.util.Map<java.lang.String,IPermissionGroup>getCachedPermissionGroups()java.util.Map<java.util.UUID,IPermissionUser>getCachedPermissionUsers()@Nullable IPermissionUsergetCachedUser(java.util.UUID uniqueId)protected voidhandleGroupRemove(@NotNull java.lang.String key, @NotNull IPermissionGroup group, @NotNull com.google.common.cache.RemovalCause cause)protected voidhandleUserRemove(@NotNull java.util.UUID key, @NotNull IPermissionUser user, @NotNull com.google.common.cache.RemovalCause cause)booleanisLocked(IPermissionGroup group)booleanisLocked(IPermissionUser user)voidunlock(IPermissionGroup group)voidunlock(IPermissionUser user)voidunlockFully(IPermissionGroup group)voidunlockFully(IPermissionUser user)-
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, addGroupAsync, addUser, addUser, addUserAsync, addUserAsync, canBeOverwritten, containsGroup, containsGroupAsync, containsUser, containsUser, containsUserAsync, containsUserAsync, deleteGroup, deleteGroup, deleteGroupAsync, deleteGroupAsync, deleteUser, deleteUser, deleteUserAsync, deleteUserAsync, 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, setGroups, setGroupsAsync, setUsers, setUsersAsync, testPermissible, testPermissionGroup, testPermissionUser, updateGroup, updateGroupAsync, updateUser, updateUserAsync
-
-
-
-
Field Detail
-
permissionUserLocks
protected final java.util.Map<java.util.UUID,java.util.concurrent.atomic.AtomicInteger> permissionUserLocks
-
permissionUserCache
protected final com.google.common.cache.Cache<java.util.UUID,IPermissionUser> permissionUserCache
-
permissionGroupLocks
protected final java.util.Map<java.lang.String,java.util.concurrent.atomic.AtomicInteger> permissionGroupLocks
-
permissionGroupCache
protected final com.google.common.cache.Cache<java.lang.String,IPermissionGroup> permissionGroupCache
-
-
Method Detail
-
getCachedPermissionUsers
public java.util.Map<java.util.UUID,IPermissionUser> getCachedPermissionUsers()
- Specified by:
getCachedPermissionUsersin interfaceCachedPermissionManagement
-
getCachedPermissionGroups
public java.util.Map<java.lang.String,IPermissionGroup> getCachedPermissionGroups()
- Specified by:
getCachedPermissionGroupsin interfaceCachedPermissionManagement
-
getCachedUser
@Nullable public @Nullable IPermissionUser getCachedUser(java.util.UUID uniqueId)
- Specified by:
getCachedUserin interfaceCachedPermissionManagement
-
getCachedGroup
@Nullable public @Nullable IPermissionGroup getCachedGroup(java.lang.String name)
- Specified by:
getCachedGroupin interfaceCachedPermissionManagement
-
acquireLock
public void acquireLock(IPermissionUser user)
- Specified by:
acquireLockin interfaceCachedPermissionManagement
-
acquireLock
public void acquireLock(IPermissionGroup group)
- Specified by:
acquireLockin interfaceCachedPermissionManagement
-
isLocked
public boolean isLocked(IPermissionUser user)
- Specified by:
isLockedin interfaceCachedPermissionManagement
-
isLocked
public boolean isLocked(IPermissionGroup group)
- Specified by:
isLockedin interfaceCachedPermissionManagement
-
unlock
public void unlock(IPermissionUser user)
- Specified by:
unlockin interfaceCachedPermissionManagement
-
unlock
public void unlock(IPermissionGroup group)
- Specified by:
unlockin interfaceCachedPermissionManagement
-
unlockFully
public void unlockFully(IPermissionUser user)
- Specified by:
unlockFullyin interfaceCachedPermissionManagement
-
unlockFully
public void unlockFully(IPermissionGroup group)
- Specified by:
unlockFullyin interfaceCachedPermissionManagement
-
handleUserRemove
protected void handleUserRemove(@NotNull @NotNull java.util.UUID key, @NotNull @NotNull IPermissionUser user, @NotNull @NotNull com.google.common.cache.RemovalCause cause)
-
handleGroupRemove
protected void handleGroupRemove(@NotNull @NotNull java.lang.String key, @NotNull @NotNull IPermissionGroup group, @NotNull @NotNull com.google.common.cache.RemovalCause cause)
-
-