Class PermissionProvider
java.lang.Object
de.murmelmeister.murmelapi.permission.PermissionProvider
- All Implemented Interfaces:
Permission,RefreshListener,AutoCloseable
public final class PermissionProvider
extends Object
implements Permission, RefreshListener, AutoCloseable
The PermissionProvider class provides methods to manage and check permissions for users and groups.
It implements the Permission interface.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final de.murmelmeister.library.database.Databaseprivate final GroupParentProviderprivate final GroupPermissionProviderprivate final UserParentProviderprivate final UserPermissionProviderprivate final UserProvider -
Constructor Summary
ConstructorsConstructorDescriptionPermissionProvider(de.murmelmeister.library.database.Database database, UserProvider userProvider, GroupParentProvider groupParentProvider, GroupPermissionProvider groupPermissionProvider, UserParentProvider userParentProvider, UserPermissionProvider userPermissionProvider, long cacheCapcity, Duration refreshInterval) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voidgetPermissions(int userId) booleanhasPermission(User user, String permission) booleanhasPermission(UUID uuid, String permission) loadAllFromDatabase(int userId) intvoidonRefresh(RefreshEvent<?> event) static voidsetup(de.murmelmeister.library.database.Database database)
-
Field Details
-
database
private final de.murmelmeister.library.database.Database database -
userProvider
-
groupParentProvider
-
groupPermissionProvider
-
userParentProvider
-
userPermissionProvider
-
cache
-
-
Constructor Details
-
PermissionProvider
public PermissionProvider(de.murmelmeister.library.database.Database database, UserProvider userProvider, GroupParentProvider groupParentProvider, GroupPermissionProvider groupPermissionProvider, UserParentProvider userParentProvider, UserPermissionProvider userPermissionProvider, long cacheCapcity, Duration refreshInterval)
-
-
Method Details
-
loadAllFromDatabase
-
setup
public static void setup(de.murmelmeister.library.database.Database database) -
getPermissions
- Specified by:
getPermissionsin interfacePermission
-
hasPermission
- Specified by:
hasPermissionin interfacePermission
-
hasPermission
- Specified by:
hasPermissionin interfacePermission
-
loadExpired
public int loadExpired()- Specified by:
loadExpiredin interfacePermission
-
onRefresh
- Specified by:
onRefreshin interfaceRefreshListener
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
closeCache
public void closeCache()- Specified by:
closeCachein interfacePermission
-