Interface IPermissionHolder

  • All Superinterfaces:
    ISnowflake
    All Known Subinterfaces:
    Member, Role

    public interface IPermissionHolder
    extends ISnowflake
    Marker for entities that hold Permissions within JDA
    Since:
    3.0
    • Method Detail

      • getGuild

        @Nonnull
        Guild getGuild()
        The Guild to which this PermissionHolder is related
        Returns:
        A never-null Guild to which this PermissionHolder is linked
      • getPermissions

        @Nonnull
        EnumSet<Permission> getPermissions()
        The Guild-Wide Permissions this PermissionHolder holds.
        Changes to the returned set do not affect this entity directly.
        Returns:
        An EnumSet of Permissions granted to this PermissionHolder.
      • getPermissionsExplicit

        @Nonnull
        EnumSet<Permission> getPermissionsExplicit()
        The explicitly granted permissions for this permission holder in the guild.
        This disregards owner and administrator privileges. For a role this is identical to getPermissions() and members have all their roles taken into consideration.
        Changes to the returned set do not affect this entity directly.
        Returns:
        EnumSet of the explicitly granted permissions
      • getPermissionsExplicit

        @Nonnull
        EnumSet<Permission> getPermissionsExplicit​(@Nonnull
                                                   GuildChannel channel)
        The explicitly granted permissions for this permission holder in the guild.
        This disregards owner and administrator privileges.
        Permissions returned by this may be different from getPermissionsExplicit() due to the GuildChannel's PermissionOverrides.
        Changes to the returned set do not affect this entity directly.
        Parameters:
        channel - The GuildChannel of which to get Permissions for
        Returns:
        EnumSet of the explicitly granted permissions in the specified channel
        Throws:
        IllegalArgumentException - If the channel is null
      • hasPermission

        boolean hasPermission​(@Nonnull
                              Permission... permissions)
        Checks whether or not this PermissionHolder has the given Permissions in the Guild.
        Parameters:
        permissions - Permissions to check for.
        Returns:
        True, if all of the specified Permissions are granted to this PermissionHolder.
      • hasPermission

        boolean hasPermission​(@Nonnull
                              Collection<Permission> permissions)
        Checks whether or not this PermissionHolder has the Permissions in the provided Collection<Permission> in the Guild.
        Parameters:
        permissions - Permissions to check for.
        Returns:
        True, if all of the specified Permissions are granted to this PermissionHolder.
        See Also:
        EnumSet
      • hasPermission

        boolean hasPermission​(@Nonnull
                              GuildChannel channel,
                              @Nonnull
                              Permission... permissions)
        Checks whether or not this PermissionHolder has the given Permissions in the specified GuildChannel.
        Parameters:
        channel - The GuildChannel in which to check.
        permissions - Permissions to check for.
        Returns:
        True, if all of the specified Permissions are granted to this PermissionHolder in the provided GuildChannel.
        See Also:
        EnumSet
      • hasPermission

        boolean hasPermission​(@Nonnull
                              GuildChannel channel,
                              @Nonnull
                              Collection<Permission> permissions)
        Checks whether or not this PermissionHolder has the Permissions in the provided Collection<Permission> in the specified GuildChannel.
        Parameters:
        channel - The GuildChannel in which to check.
        permissions - Permissions to check for.
        Returns:
        True, if all of the specified Permissions are granted to this PermissionHolder in the provided GuildChannel.