Class KeyGroupRangeOffsets

java.lang.Object
org.apache.flink.runtime.state.KeyGroupRangeOffsets
All Implemented Interfaces:
Serializable, Iterable<org.apache.flink.api.java.tuple.Tuple2<Integer,Long>>

public class KeyGroupRangeOffsets extends Object implements Iterable<org.apache.flink.api.java.tuple.Tuple2<Integer,Long>>, Serializable
This class combines a key-group range with offsets that correspond to the key-groups in the range.
See Also:
  • Constructor Details

    • KeyGroupRangeOffsets

      public KeyGroupRangeOffsets(KeyGroupRange keyGroupRange, long[] offsets)
      Creates key-group range with offsets from the given key-group range. The order of given offsets must be aligned with respect to the key-groups in the range.
      Parameters:
      keyGroupRange - The range of key-groups.
      offsets - The aligned array of offsets for the given key-groups.
    • KeyGroupRangeOffsets

      public KeyGroupRangeOffsets(int rangeStart, int rangeEnd, long[] offsets)
      Creates key-group range with offsets from the given start key-group to end key-group. The order of given offsets must be aligned with respect to the key-groups in the range.
      Parameters:
      rangeStart - Start key-group of the range (inclusive)
      rangeEnd - End key-group of the range (inclusive)
      offsets - The aligned array of offsets for the given key-groups.
    • KeyGroupRangeOffsets

      public KeyGroupRangeOffsets(int rangeStart, int rangeEnd)
      Creates key-group range with offsets from the given start key-group to end key-group. All offsets are initially zero.
      Parameters:
      rangeStart - Start key-group of the range (inclusive)
      rangeEnd - End key-group of the range (inclusive)
    • KeyGroupRangeOffsets

      public KeyGroupRangeOffsets(KeyGroupRange keyGroupRange)
      Creates key-group range with offsets for the given key-group range, where all offsets are initially zero.
      Parameters:
      keyGroupRange - The range of key-groups.
  • Method Details

    • newIllegalKeyGroupException

      public static IllegalArgumentException newIllegalKeyGroupException(int keyGroup, KeyGroupRange keyGroupRange)
    • getKeyGroupOffset

      public long getKeyGroupOffset(int keyGroup)
      Returns the offset for the given key-group. The key-group must be contained in the range.
      Parameters:
      keyGroup - Key-group for which we query the offset. Key-group must be contained in the range.
      Returns:
      The offset for the given key-group which must be contained in the range.
    • setKeyGroupOffset

      public void setKeyGroupOffset(int keyGroup, long offset)
      Sets the offset for the given key-group. The key-group must be contained in the range.
      Parameters:
      keyGroup - Key-group for which we set the offset. Must be contained in the range.
      offset - Offset for the key-group.
    • getIntersection

      public KeyGroupRangeOffsets getIntersection(KeyGroupRange keyGroupRange)
      Returns a key-group range with offsets which is the intersection of the internal key-group range with the given key-group range.
      Parameters:
      keyGroupRange - Key-group range to intersect with the internal key-group range.
      Returns:
      The key-group range with offsets for the intersection of the internal key-group range with the given key-group range.
    • getKeyGroupRange

      public KeyGroupRange getKeyGroupRange()
    • iterator

      public Iterator<org.apache.flink.api.java.tuple.Tuple2<Integer,Long>> iterator()
      Specified by:
      iterator in interface Iterable<org.apache.flink.api.java.tuple.Tuple2<Integer,Long>>
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object