diff options
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/slime/SlimeStream.java')
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/slime/SlimeStream.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/slime/SlimeStream.java b/vespajlib/src/main/java/com/yahoo/slime/SlimeStream.java new file mode 100644 index 00000000000..a6008294a72 --- /dev/null +++ b/vespajlib/src/main/java/com/yahoo/slime/SlimeStream.java @@ -0,0 +1,21 @@ +package com.yahoo.slime; + +import java.util.function.Function; +import java.util.stream.IntStream; +import java.util.stream.Stream; + +public final class SlimeStream { + private SlimeStream() {} + + /** + * Create a stream from a Slime {@link Inspector} pointing to an array. + * @param array the array inspector + * @param mapper the function mapping to Stream elements + * @return A Stream of array elements + */ + public static <T> Stream<T> fromArray(Inspector array, Function<Inspector, T> mapper) { + return IntStream.range(0, array.entries()) + .mapToObj(array::entry) + .map(mapper); + } +} |