Interface UnifiedMemberCacheView

All Superinterfaces:
CacheView<Member>, Iterable<Member>

public interface UnifiedMemberCacheView extends CacheView<Member>
CacheView implementation specifically to combine Member cache views.

This is done because Members do not implement ISnowflake as they are not globally unique but only unique per Guild!

See Also:
  • Method Details

    • getElementsById

      @Nonnull List<Member> getElementsById(long id)
      Retrieves all member represented by the provided ID.
      Parameters:
      id - The ID of the members
      Returns:
      Possibly-empty unmodifiable list of member for the specified ID
    • getElementsById

      @Nonnull default List<Member> getElementsById(@Nonnull String id)
      Retrieves all member represented by the provided ID.
      Parameters:
      id - The ID of the members
      Returns:
      Possibly-empty unmodifiable list of member for the specified ID
      Throws:
      NumberFormatException - If the provided String is null or cannot be resolved to an unsigned long id
    • getElementsByUsername

      @Nonnull List<Member> getElementsByUsername(@Nonnull String name, boolean ignoreCase)
      Creates an immutable list of all members matching the given username.
      This will check the name of the wrapped user.
      Parameters:
      name - The name to check
      ignoreCase - Whether to ignore case when comparing usernames
      Returns:
      Immutable list of members with the given username
      Throws:
      IllegalArgumentException - If the provided name is null
    • getElementsByUsername

      @Nonnull default List<Member> getElementsByUsername(@Nonnull String name)
      Creates an immutable list of all members matching the given username.
      This will check the name of the wrapped user.
      Parameters:
      name - The name to check
      Returns:
      Immutable list of members with the given username
      Throws:
      IllegalArgumentException - If the provided name is null
    • getElementsByNickname

      @Nonnull List<Member> getElementsByNickname(@Nullable String name, boolean ignoreCase)
      Creates an immutable list of all members matching the given nickname.
      This will check the nickname of the member. If provided with null this will check for members that have no nickname set.
      Parameters:
      name - The nullable nickname to check
      ignoreCase - Whether to ignore case when comparing nicknames
      Returns:
      Immutable list of members with the given nickname
    • getElementsByNickname

      @Nonnull default List<Member> getElementsByNickname(@Nullable String name)
      Creates an immutable list of all members matching the given nickname.
      This will check the nickname of the member. If provided with null this will check for members that have no nickname set.
      Parameters:
      name - The nullable nickname to check
      Returns:
      Immutable list of members with the given nickname
    • getElementsWithRoles

      @Nonnull List<Member> getElementsWithRoles(@Nonnull Role... roles)
      Creates an immutable list of all members that hold all of the provided roles.
      Parameters:
      roles - Roles the members should have
      Returns:
      Immutable list of members with the given roles
      Throws:
      IllegalArgumentException - If provided with null
    • getElementsWithRoles

      @Nonnull List<Member> getElementsWithRoles(@Nonnull Collection<Role> roles)
      Creates an immutable list of all members that hold all of the provided roles.
      Parameters:
      roles - Roles the members should have
      Returns:
      Immutable list of members with the given roles
      Throws:
      IllegalArgumentException - If provided with null