提交 7ac6447f 编写于 作者: R Robert Metzger

[FLINK-1473] Simplify SplittableIterator interface

上级 d5393017
......@@ -18,7 +18,6 @@
package org.apache.flink.util;
import java.util.Iterator;
import java.util.NoSuchElementException;
/**
......@@ -26,7 +25,7 @@ import java.util.NoSuchElementException;
* The iterator is splittable (as defined by {@link SplittableIterator}, i.e., it can be divided into multiple
* iterators that each return a subsequence of the number sequence.
*/
public class NumberSequenceIterator implements SplittableIterator<Long> {
public class NumberSequenceIterator extends SplittableIterator<Long> {
private static final long serialVersionUID = 1L;
......@@ -171,14 +170,6 @@ public class NumberSequenceIterator implements SplittableIterator<Long> {
}
}
@Override
public Iterator<Long> getSplit(int num, int numPartitions) {
if (numPartitions < 1 || num < 0 || num >= numPartitions) {
throw new IllegalArgumentException();
}
return split(numPartitions)[num];
}
@Override
public int getMaximumNumberOfSplits() {
......
......@@ -22,11 +22,17 @@ import java.io.Serializable;
import java.util.Iterator;
public interface SplittableIterator<T> extends Iterator<T>, Serializable {
public abstract class SplittableIterator<T> implements Iterator<T>, Serializable {
Iterator<T>[] split(int numPartitions);
Iterator<T> getSplit(int num, int numPartitions);
int getMaximumNumberOfSplits();
abstract Iterator<T>[] split(int numPartitions);
public Iterator<T> getSplit(int num, int numPartitions) {
if (numPartitions < 1 || num < 0 || num >= numPartitions) {
throw new IllegalArgumentException();
}
return split(numPartitions)[num];
}
abstract int getMaximumNumberOfSplits();
}
......@@ -21,7 +21,6 @@ package org.apache.flink.util;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.apache.flink.util.NumberSequenceIterator;
import org.junit.Test;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册