Record Class PermissionProvider

java.lang.Object
java.lang.Record
de.murmelmeister.murmelapi.permission.PermissionProvider
All Implemented Interfaces:
Permission

public record PermissionProvider(Group group, User user) extends Record implements Permission
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates an instance of a PermissionProvider record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    final boolean
    Indicates whether some other object is "equal to" this one.
    getPermissions(int userId)
    Retrieves a list of permissions for a user based on their user ID.
    Returns the value of the group record component.
    final int
    Returns a hash code value for this object.
    boolean
    hasPermission(int userId, String permission)
    Checks if a user identified by their unique user ID has a specific permission.
    boolean
    hasPermission(UUID uuid, String permission)
    Checks if a user identified by their unique UUID has a specific permission.
    void
    Reloads or refreshes any expired entities or permissions within the system.
    final String
    Returns a string representation of this record class.
    Returns the value of the user record component.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • PermissionProvider

      public PermissionProvider(Group group, User user)
      Creates an instance of a PermissionProvider record class.
      Parameters:
      group - the value for the group record component
      user - the value for the user record component
  • Method Details

    • getPermissions

      public List<String> getPermissions(int userId)
      Description copied from interface: Permission
      Retrieves a list of permissions for a user based on their user ID. This includes both the user's direct permissions and those inherited from parent entities.
      Specified by:
      getPermissions in interface Permission
      Parameters:
      userId - The unique identifier of the user whose permissions are to be retrieved.
      Returns:
      A list of all permissions applicable to the specified user.
    • loadExpired

      public void loadExpired()
      Description copied from interface: Permission
      Reloads or refreshes any expired entities or permissions within the system. This method is intended to invoke expiration-related updates for underlying group and user components.
      Specified by:
      loadExpired in interface Permission
    • hasPermission

      public boolean hasPermission(UUID uuid, String permission)
      Description copied from interface: Permission
      Checks if a user identified by their unique UUID has a specific permission.
      Specified by:
      hasPermission in interface Permission
      Parameters:
      uuid - The universally unique identifier (UUID) of the user.
      permission - The permission string to check for the user.
      Returns:
      true if the user has the specified permission, otherwise false.
    • hasPermission

      public boolean hasPermission(int userId, String permission)
      Description copied from interface: Permission
      Checks if a user identified by their unique user ID has a specific permission.
      Specified by:
      hasPermission in interface Permission
      Parameters:
      userId - The unique identifier of the user to check permissions for.
      permission - The specific permission string to verify for the user.
      Returns:
      true if the user has the specified permission, otherwise false.
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • group

      public Group group()
      Returns the value of the group record component.
      Returns:
      the value of the group record component
    • user

      public User user()
      Returns the value of the user record component.
      Returns:
      the value of the user record component