Class PermissionState

java.lang.Object
fr.fidorial.permission.PermissionState

public final class PermissionState extends Object
  • Constructor Details

    • PermissionState

      public PermissionState(PermissionHolder owner, PermissionRegistry registry)
      Creates an engine with no external resolvers.
      Parameters:
      owner - the holder this engine answers for
      registry - the permission registry
    • PermissionState

      public PermissionState(PermissionHolder owner, PermissionRegistry registry, Supplier<List<PermissionResolver>> resolvers)
      Creates an engine.
      Parameters:
      owner - the holder this engine answers for
      registry - the permission registry
      resolvers - supplier of the currently registered resolvers; called on every uncached lookup so plugins registering late are picked up without a restart
  • Method Details

    • resolve

      public TriState resolve(PermissionNode node)
      Resolves a node.
      Parameters:
      node - the node
      Returns:
      the resolved state
    • newGrant

      public PermissionGrant newGrant(Plugin plugin)
      Opens a new grant on this engine.
      Parameters:
      plugin - the plugin requesting it
      Returns:
      the grant
    • activeOverrides

      public Map<PermissionNode, TriState> activeOverrides()
      Returns:
      every override applied by the active grants, later grants overriding earlier ones
    • revokeGrantsOf

      public void revokeGrantsOf(Plugin plugin)
      Revokes every grant opened by a plugin, typically when it is disabled.
    • revokeAll

      public void revokeAll()
      Revokes every grant on this engine.
    • invalidate

      public void invalidate()
      Drops the memoised results.