Class ShardCacheViewImpl.UnifiedShardCacheViewImpl

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.List<JDA> asList()
      Creates an immutable snapshot of the current cache state.
      java.util.Set<JDA> asSet()
      Creates an immutable snapshot of the current cache state.
      JDA getElementById​(int id)
      Retrieves the JDA instance represented by the provided shard ID.
      java.util.List<JDA> getElementsByName​(java.lang.String name, boolean ignoreCase)
      Creates an immutable list of all elements matching the given name.
      boolean isEmpty()
      Whether the cache is empty
      java.util.Iterator<JDA> iterator()  
      java.util.stream.Stream<JDA> parallelStream()
      Creates a parallel Stream of all cached elements.
      long size()
      The current size of this cache
      This is a long as it may be a projected view of multiple caches (See CacheView.all(java.util.function.Supplier))
      java.util.stream.Stream<JDA> stream()
      Creates a Stream of all cached elements.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Constructor Detail

      • UnifiedShardCacheViewImpl

        public UnifiedShardCacheViewImpl​(java.util.function.Supplier<java.util.stream.Stream<ShardCacheView>> generator)
    • Method Detail

      • size

        public long size()
        Description copied from interface: CacheView
        The current size of this cache
        This is a long as it may be a projected view of multiple caches (See CacheView.all(java.util.function.Supplier))

        This is more efficient than creating a list or set snapshot first as it checks the size of the internal cache directly.

        Specified by:
        size in interface CacheView<JDA>
        Returns:
        The current size of this cache
      • isEmpty

        public boolean isEmpty()
        Description copied from interface: CacheView
        Whether the cache is empty

        This is more efficient than creating a list or set snapshot first as it checks the size of the internal cache directly.
        On a projected cache view this will simply look through all projected views and return false the moment it finds one that is not empty.

        Specified by:
        isEmpty in interface CacheView<JDA>
        Returns:
        True, if this cache is currently empty
      • asList

        public java.util.List<JDA> asList()
        Description copied from interface: CacheView
        Creates an immutable snapshot of the current cache state.
        This will copy all elements contained in this cache into a list.
        This will be sorted for a SortedSnowflakeCacheView.
        Specified by:
        asList in interface CacheView<JDA>
        Returns:
        Immutable list of cached elements
      • asSet

        public java.util.Set<JDA> asSet()
        Description copied from interface: CacheView
        Creates an immutable snapshot of the current cache state.
        This will copy all elements contained in this cache into a set.
        Specified by:
        asSet in interface CacheView<JDA>
        Returns:
        Immutable set of cached elements
      • getElementsByName

        public java.util.List<JDA> getElementsByName​(java.lang.String name,
                                                     boolean ignoreCase)
        Description copied from interface: CacheView
        Creates an immutable list of all elements matching the given name.
        For a MemberCacheView this will check the Effective Name of the cached members.
        Specified by:
        getElementsByName in interface CacheView<JDA>
        Parameters:
        name - The name to check
        ignoreCase - Whether to ignore case when comparing names
        Returns:
        Immutable list of elements with the given name
      • getElementById

        public JDA getElementById​(int id)
        Description copied from interface: ShardCacheView
        Retrieves the JDA instance represented by the provided shard ID.
        Specified by:
        getElementById in interface ShardCacheView
        Parameters:
        id - The ID of the entity
        Returns:
        Possibly-null entity for the specified shard ID
      • stream

        public java.util.stream.Stream<JDA> stream()
        Description copied from interface: CacheView
        Creates a Stream of all cached elements.
        This will be sorted for a SortedSnowflakeCacheView.
        Specified by:
        stream in interface CacheView<JDA>
        Returns:
        Stream of elements
      • parallelStream

        public java.util.stream.Stream<JDA> parallelStream()
        Description copied from interface: CacheView
        Creates a parallel Stream of all cached elements.
        This will be sorted for a SortedSnowflakeCacheView.
        Specified by:
        parallelStream in interface CacheView<JDA>
        Returns:
        Parallel Stream of elements
      • iterator

        @Nonnull
        public java.util.Iterator<JDA> iterator()
        Specified by:
        iterator in interface java.lang.Iterable<JDA>