aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/java/util/stream
diff options
context:
space:
mode:
authorpsandoz <none@none>2013-07-09 10:44:49 +0200
committerpsandoz <none@none>2013-07-09 10:44:49 +0200
commit9b402c08f3dbdc8ce42f81e7f50514dad102f881 (patch)
tree05d8d3968b4206fa148d3ae9ea0ad365bba2a483 /src/share/classes/java/util/stream
parentc0db9ddc2e170b5a5de51a4fff9c4ce2c060f0ba (diff)
downloadjdk8u_jdk-9b402c08f3dbdc8ce42f81e7f50514dad102f881.tar.gz
8019551: Make BaseStream public
Reviewed-by: chegar, psandoz Contributed-by: brian goetz <brian.goetz@oracle.com>
Diffstat (limited to 'src/share/classes/java/util/stream')
-rw-r--r--src/share/classes/java/util/stream/AbstractPipeline.java23
-rw-r--r--src/share/classes/java/util/stream/BaseStream.java6
2 files changed, 7 insertions, 22 deletions
diff --git a/src/share/classes/java/util/stream/AbstractPipeline.java b/src/share/classes/java/util/stream/AbstractPipeline.java
index efda940715..bde7efb1f8 100644
--- a/src/share/classes/java/util/stream/AbstractPipeline.java
+++ b/src/share/classes/java/util/stream/AbstractPipeline.java
@@ -53,11 +53,6 @@ import java.util.function.Supplier;
* operation, the stream is considered to be consumed, and no more intermediate
* or terminal operations are permitted on this stream instance.
*
- * <p>{@code AbstractPipeline} implements a number of methods that are
- * specified in {@link BaseStream}, though it does not implement
- * {@code BaseStream} directly. Subclasses of {@code AbstractPipeline}
- * will generally implement {@code BaseStream}.
- *
* @implNote
* <p>For sequential streams, and parallel streams without
* <a href="package-summary.html#StreamOps">stateful intermediate
@@ -75,7 +70,7 @@ import java.util.function.Supplier;
* @since 1.8
*/
abstract class AbstractPipeline<E_IN, E_OUT, S extends BaseStream<E_OUT, S>>
- extends PipelineHelper<E_OUT> {
+ extends PipelineHelper<E_OUT> implements BaseStream<E_OUT, S> {
/**
* Backlink to the head of the pipeline chain (self if this is the source
* stage).
@@ -286,26 +281,20 @@ abstract class AbstractPipeline<E_IN, E_OUT, S extends BaseStream<E_OUT, S>>
// BaseStream
- /**
- * Implements {@link BaseStream#sequential()}
- */
+ @Override
public final S sequential() {
sourceStage.parallel = false;
return (S) this;
}
- /**
- * Implements {@link BaseStream#parallel()}
- */
+ @Override
public final S parallel() {
sourceStage.parallel = true;
return (S) this;
}
// Primitive specialization use co-variant overrides, hence is not final
- /**
- * Implements {@link BaseStream#spliterator()}
- */
+ @Override
public Spliterator<E_OUT> spliterator() {
if (linkedOrConsumed)
throw new IllegalStateException("stream has already been operated upon");
@@ -331,9 +320,7 @@ abstract class AbstractPipeline<E_IN, E_OUT, S extends BaseStream<E_OUT, S>>
}
}
- /**
- * Implements {@link BaseStream#isParallel()}
- */
+ @Override
public final boolean isParallel() {
return sourceStage.parallel;
}
diff --git a/src/share/classes/java/util/stream/BaseStream.java b/src/share/classes/java/util/stream/BaseStream.java
index db002b5c03..94dbc7de73 100644
--- a/src/share/classes/java/util/stream/BaseStream.java
+++ b/src/share/classes/java/util/stream/BaseStream.java
@@ -29,15 +29,13 @@ import java.util.Spliterator;
/**
* Base interface for stream types such as {@link Stream}, {@link IntStream},
- * etc. Contains methods common to all stream types. Many of these methods
- * are implemented by {@link AbstractPipeline}, even though
- * {@code AbstractPipeline} does not directly implement {@code BaseStream}.
+ * etc. Contains methods common to all stream types.
*
* @param <T> type of stream elements
* @param <S> type of stream implementing {@code BaseStream}
* @since 1.8
*/
-interface BaseStream<T, S extends BaseStream<T, S>> {
+public interface BaseStream<T, S extends BaseStream<T, S>> {
/**
* Returns an iterator for the elements of this stream.
*