Add Source.fromJavaStream as convenient method alias (#28881)

This commit is contained in:
kerr 2020-04-28 17:15:11 +08:00 committed by GitHub
parent 404d45ea82
commit 6b5d544deb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 87 additions and 0 deletions

View file

@ -100,6 +100,17 @@ object Source {
def fromIterator[O](f: function.Creator[java.util.Iterator[O]]): javadsl.Source[O, NotUsed] =
new Source(scaladsl.Source.fromIterator(() => f.create().asScala))
/**
* Creates a source that wraps a Java 8 ``Stream``. ``Source`` uses a stream iterator to get all its
* elements and send them downstream on demand.
*
* You can use [[Source.async]] to create asynchronous boundaries between synchronous java stream
* and the rest of flow.
*/
def fromJavaStream[O, S <: java.util.stream.BaseStream[O, S]](
stream: function.Creator[java.util.stream.BaseStream[O, S]]): javadsl.Source[O, NotUsed] =
StreamConverters.fromJavaStream(stream)
/**
* Helper to create 'cycled' [[Source]] from iterator provider.
* Example usage: