Package com.azure.core.util
Class IterableStream<T>
- java.lang.Object
-
- com.azure.core.util.IterableStream<T>
-
- Type Parameters:
T- The type of value in thisIterable.
- All Implemented Interfaces:
Iterable<T>
- Direct Known Subclasses:
ContinuablePagedIterable
public class IterableStream<T> extends Object implements Iterable<T>
This class provides utility to iterate over values using standard 'for-each' style loops or to convert them into aStreamand operate in that fashion.Code sample using Stream
// process the stream myIterableStream.stream().forEach(resp -> { if (resp.getStatusCode() == HttpURLConnection.HTTP_OK) { System.out.printf("Response headers are %s. Url %s%n", resp.getDeserializedHeaders(), resp.getRequest().getUrl()); resp.getElements().forEach(value -> System.out.printf("Response value is %d%n", value)); } });Code sample using Iterator
// Iterate over iterator for (PagedResponseBase<String, Integer> resp : myIterableStream) { if (resp.getStatusCode() == HttpURLConnection.HTTP_OK) { System.out.printf("Response headers are %s. Url %s%n", resp.getDeserializedHeaders(), resp.getRequest().getUrl()); resp.getElements().forEach(value -> System.out.printf("Response value is %d%n", value)); } }Code sample using Stream and filter
// process the stream myIterableStream.stream().filter(resp -> resp.getStatusCode() == HttpURLConnection.HTTP_OK) .limit(10) .forEach(resp -> { System.out.printf("Response headers are %s. Url %s%n", resp.getDeserializedHeaders(), resp.getRequest().getUrl()); resp.getElements().forEach(value -> System.out.printf("Response value is %d%n", value)); });- See Also:
Iterable
-
-
Constructor Summary
Constructors Constructor Description IterableStream(Iterable<T> iterable)Creates an instance with the givenIterable.IterableStream(Flux<T> flux)Creates an instance with the givenFlux.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Iterator<T>iterator()Utility function to provideIteratorof valueT.static <T> IterableStream<T>of(Iterable<T> iterable)Creates anIterableStreamfrom anIterable.Stream<T>stream()Utility function to provideStreamof valueT.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
IterableStream
public IterableStream(Flux<T> flux)
Creates an instance with the givenFlux.- Parameters:
flux- Flux of items to iterate over.- Throws:
NullPointerException- Iffluxisnull.
-
IterableStream
public IterableStream(Iterable<T> iterable)
Creates an instance with the givenIterable.- Parameters:
iterable- Collection of items to iterate over.- Throws:
NullPointerException- Ifiterableisnull.
-
-
Method Detail
-
stream
public Stream<T> stream()
Utility function to provideStreamof valueT.- Returns:
Streamof valueT.
-
of
public static <T> IterableStream<T> of(Iterable<T> iterable)
Creates anIterableStreamfrom anIterable.An empty
IterableStreamwill be returned if the input iterable isnull.- Type Parameters:
T- The type of value in thisIterable.- Parameters:
iterable- Collection of items to iterate over.- Returns:
- An
IterableStreambased on the passed collection.
-
-