Class WrapperPermissionManagement

java.lang.Object
eu.cloudnetservice.driver.permission.DefaultPermissionManagement
eu.cloudnetservice.driver.permission.DefaultCachedPermissionManagement
eu.cloudnetservice.wrapper.permission.WrapperPermissionManagement
All Implemented Interfaces:
eu.cloudnetservice.driver.permission.CachedPermissionManagement, eu.cloudnetservice.driver.permission.PermissionManagement

public abstract class WrapperPermissionManagement extends eu.cloudnetservice.driver.permission.DefaultCachedPermissionManagement
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
     
    private final eu.cloudnetservice.driver.event.EventManager
     
    private final eu.cloudnetservice.driver.network.rpc.RPCSender
     
    private final eu.cloudnetservice.driver.service.ServiceConfiguration
     

    Fields inherited from class eu.cloudnetservice.driver.permission.DefaultCachedPermissionManagement

    permissionGroupCache, permissionGroupLocks, permissionUserCache, permissionUserLocks
  • Constructor Summary

    Constructors
    Constructor
    Description
    WrapperPermissionManagement(@NonNull eu.cloudnetservice.driver.network.rpc.RPCSender sender, @NonNull eu.cloudnetservice.driver.event.EventManager eventManager, @NonNull eu.cloudnetservice.driver.service.ServiceConfiguration serviceConfiguration)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    @NonNull eu.cloudnetservice.driver.permission.PermissionGroup
    addPermissionGroup(@NonNull String name, int potency)
     
    @NonNull eu.cloudnetservice.driver.permission.PermissionUser
    addPermissionUser(@NonNull String name, @NonNull String password, int potency)
     
    @Nullable eu.cloudnetservice.driver.permission.PermissionManagement
     
    void
     
    boolean
     
    boolean
     
    boolean
     
    @Nullable eu.cloudnetservice.driver.permission.PermissionGroup
     
    @Nullable eu.cloudnetservice.driver.permission.PermissionUser
     
    @NonNull eu.cloudnetservice.driver.permission.PermissionUser
     
    @Nullable eu.cloudnetservice.driver.permission.PermissionGroup
     
    @NonNull Collection<eu.cloudnetservice.driver.permission.PermissionGroup>
     
    void
     
    protected @NonNull Collection<eu.cloudnetservice.driver.permission.PermissionGroup>
     
    @NonNull eu.cloudnetservice.driver.permission.PermissionCheckResult
    permissionResult(@NonNull eu.cloudnetservice.driver.permission.Permissible permissible, @NonNull eu.cloudnetservice.driver.permission.Permission permission)
     
    boolean
     
    @Nullable eu.cloudnetservice.driver.permission.PermissionUser
    user(@NonNull UUID uniqueId)
     

    Methods inherited from class eu.cloudnetservice.driver.permission.DefaultCachedPermissionManagement

    acquireLock, acquireLock, cachedGroup, cachedPermissionGroups, cachedPermissionUsers, cachedUser, handleGroupRemove, handleUserRemove, locked, locked, unlock, unlock, unlockFully, unlockFully

    Methods inherited from class eu.cloudnetservice.driver.permission.DefaultPermissionManagement

    allGroupPermissions, allPermissions, collectAllGroupPermissionsInto, collectAllPermissions, collectAllPermissionsTo, collectPermissionsInto, findHighestPermission, groupPermissionResult, groupsOf, groupsPermissionResult, highestPermissionGroup, modifyGroup, modifyUser, modifyUsers, testPermissible, testPermissionUser

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface eu.cloudnetservice.driver.permission.PermissionManagement

    addGroupAsync, addPermissionGroup, addPermissionGroupAsync, addPermissionUser, addPermissionUserAsync, addUserAsync, allGroupPermissions, allPermissions, containsGroupAsync, containsOneUserAsync, containsUserAsync, defaultPermissionGroupAsync, deleteGroup, deleteGroupAsync, deletePermissionGroup, deletePermissionGroupAsync, deletePermissionUser, deletePermissionUserAsync, deleteUser, deleteUserAsync, findHighestPermission, firstUserAsync, getOrCreateUserAsync, groupAsync, groupPermissionResult, groups, groupsAsync, groupsAsync, groupsOf, groupsOfAsync, groupsPermissionResult, hasGroupPermission, hasPermission, highestPermissionGroup, modifyGroup, modifyGroupAsync, modifyUser, modifyUserAsync, modifyUsers, modifyUsersAsync, sendCommandLine, sendCommandLineAsync, testPermissible, testPermissionUser, updateGroup, updateGroupAsync, updateUser, updateUserAsync, userAsync, users, usersAsync, usersByGroup, usersByGroupAsync, usersByName, usersByNameAsync
  • Field Details

    • rpcSender

      private final eu.cloudnetservice.driver.network.rpc.RPCSender rpcSender
    • eventManager

      private final eu.cloudnetservice.driver.event.EventManager eventManager
    • serviceConfiguration

      private final eu.cloudnetservice.driver.service.ServiceConfiguration serviceConfiguration
    • cacheListener

      private final PermissionCacheListener cacheListener
    • channelMessageListener

      private final PermissionChannelMessageListener channelMessageListener
  • Constructor Details

    • WrapperPermissionManagement

      public WrapperPermissionManagement(@NonNull @NonNull eu.cloudnetservice.driver.network.rpc.RPCSender sender, @NonNull @NonNull eu.cloudnetservice.driver.event.EventManager eventManager, @NonNull @NonNull eu.cloudnetservice.driver.service.ServiceConfiguration serviceConfiguration)
  • Method Details

    • init

      public void init()
    • close

      public void close()
    • reload

      public boolean reload()
    • groups

      @NonNull public @NonNull Collection<eu.cloudnetservice.driver.permission.PermissionGroup> groups()
    • defaultPermissionGroup

      @Nullable public @Nullable eu.cloudnetservice.driver.permission.PermissionGroup defaultPermissionGroup()
    • addPermissionUser

      @NonNull public @NonNull eu.cloudnetservice.driver.permission.PermissionUser addPermissionUser(@NonNull @NonNull String name, @NonNull @NonNull String password, int potency)
    • addPermissionGroup

      @NonNull public @NonNull eu.cloudnetservice.driver.permission.PermissionGroup addPermissionGroup(@NonNull @NonNull String name, int potency)
    • permissionResult

      @NonNull public @NonNull eu.cloudnetservice.driver.permission.PermissionCheckResult permissionResult(@NonNull @NonNull eu.cloudnetservice.driver.permission.Permissible permissible, @NonNull @NonNull eu.cloudnetservice.driver.permission.Permission permission)
      Specified by:
      permissionResult in interface eu.cloudnetservice.driver.permission.PermissionManagement
      Overrides:
      permissionResult in class eu.cloudnetservice.driver.permission.DefaultPermissionManagement
    • containsUser

      public boolean containsUser(@NonNull @NonNull UUID uniqueId)
    • containsOneUser

      public boolean containsOneUser(@NonNull @NonNull String name)
    • user

      @Nullable public @Nullable eu.cloudnetservice.driver.permission.PermissionUser user(@NonNull @NonNull UUID uniqueId)
    • getOrCreateUser

      @NonNull public @NonNull eu.cloudnetservice.driver.permission.PermissionUser getOrCreateUser(@NonNull @NonNull UUID uniqueId, @NonNull @NonNull String name)
    • containsGroup

      public boolean containsGroup(@NonNull @NonNull String group)
    • group

      @Nullable public @Nullable eu.cloudnetservice.driver.permission.PermissionGroup group(@NonNull @NonNull String name)
    • childPermissionManagement

      @Nullable public @Nullable eu.cloudnetservice.driver.permission.PermissionManagement childPermissionManagement()
      Specified by:
      childPermissionManagement in interface eu.cloudnetservice.driver.permission.PermissionManagement
      Overrides:
      childPermissionManagement in class eu.cloudnetservice.driver.permission.DefaultPermissionManagement
    • firstUser

      @Nullable public @Nullable eu.cloudnetservice.driver.permission.PermissionUser firstUser(@NonNull @NonNull String name)
    • loadGroups

      @NonNull protected @NonNull Collection<eu.cloudnetservice.driver.permission.PermissionGroup> loadGroups()