Add docs and example for akka-stream operator from (#24933) (#25372)

* Add docs and example for akka-stream operator from (#24933)

* add seperate test class for code example of akka-stream from

* add copyright header
This commit is contained in:
Chang Liu 2018-07-19 06:38:47 +02:00 committed by Konrad `ktoso` Malawski
parent f4fbbf9312
commit 862a66ecc7
2 changed files with 50 additions and 1 deletions

View file

@ -4,10 +4,19 @@ Stream the values of an `Iterable`.
@ref[Source operators](../index.md#source-operators)
@@@div { .group-scala }
## Signature
@@signature [Source.scala]($akka$/akka-stream/src/main/scala/akka/stream/javadsl/Source.scala) { #from }
@@@
## Description
Stream the values of an `Iterable`. Make sure the `Iterable` is immutable or at least not modified after being used
as a source.
as a source. Otherwise the stream may fail with `ConcurrentModificationException` or other more subtle errors may occur.
@@@div { .callout }
@ -17,3 +26,8 @@ as a source.
@@@
## Examples
Java
: @@snip [from.java]($akka$/akka-docs/src/test/java/jdocs/stream/operators/SourceDocExamples.java) { #imports #source-from-example }

View file

@ -0,0 +1,35 @@
/**
* Copyright (C) 2018 Lightbend Inc. <https://www.lightbend.com>
*/
package jdocs.stream.operators;
//#imports
import akka.NotUsed;
import akka.actor.ActorSystem;
import akka.stream.ActorMaterializer;
import akka.stream.Materializer;
import akka.stream.javadsl.Source;
import java.util.Arrays;
//#imports
public class SourceDocExamples {
public static void fromExample() {
//#source-from-example
final ActorSystem system = ActorSystem.create("SourceFromExample");
final Materializer materializer = ActorMaterializer.create(system);
Source<Integer, NotUsed> ints = Source.from(Arrays.asList(0, 1, 2, 3, 4, 5));
ints.runForeach(System.out::println, materializer);
String text = "Perfection is finally attained not when there is no longer more to add," +
"but when there is no longer anything to take away.";
Source<String, NotUsed> words = Source.from(Arrays.asList(text.split("\\s")));
words.runForeach(System.out::println, materializer);
//#source-from-example
}
}