Class PermissionCalculator

java.lang.Object
com.github.darksoulq.abyssallib.server.permission.PermissionCalculator

public class PermissionCalculator extends Object
Utility class for calculating the effective permissions of a holder based on inheritance.
  • Constructor Details

    • PermissionCalculator

      public PermissionCalculator()
  • Method Details

    • calculateEffective

      public static Map<String,Boolean> calculateEffective(PermissionHolder holder)
      Calculates the full effective permission map for a holder.

      Logic flow: 1. Recursively collect all inherited groups. 2. Sort groups by weight (low to high). 3. Apply permissions from groups (later overwrites earlier). 4. Apply direct permissions from the holder (final priority).

      Parameters:
      holder - The PermissionHolder to calculate for.
      Returns:
      An unmodifiable map of effective permission nodes.