Class GroupShardsIterator<ShardIt extends ShardIterator>

  • All Implemented Interfaces:
    Iterable<ShardIt>

    public final class GroupShardsIterator<ShardIt extends ShardIterator>
    extends Object
    implements Iterable<ShardIt>
    This class implements a compilation of ShardIterators. Each ShardIterator iterated by this Iterable represents a group of shards. ShardsIterators are always returned in ascending order independently of their order at construction time. The incoming iterators are sorted to ensure consistent iteration behavior across Nodes / JVMs.
    • Constructor Detail

      • GroupShardsIterator

        public GroupShardsIterator​(List<ShardIt> iterators)
        Constructs a enw GroupShardsIterator from the given list.
    • Method Detail

      • totalSize

        public int totalSize()
        Returns the total number of shards within all groups
        Returns:
        total number of shards
      • totalSizeWith1ForEmpty

        public int totalSizeWith1ForEmpty()
        Returns the total number of shards plus the number of empty groups
        Returns:
        number of shards and empty groups
      • size

        public int size()
        Return the number of groups
        Returns:
        number of groups
      • get

        public ShardIt get​(int index)