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 aStream
and 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 provideIterator
of valueT
.static <T> IterableStream<T>
of(Iterable<T> iterable)
Creates anIterableStream
from anIterable
.Stream<T>
stream()
Utility function to provideStream
of 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
- Ifflux
isnull
.
-
IterableStream
public IterableStream(Iterable<T> iterable)
Creates an instance with the givenIterable
.- Parameters:
iterable
- Collection of items to iterate over.- Throws:
NullPointerException
- Ifiterable
isnull
.
-
-
Method Detail
-
stream
public Stream<T> stream()
Utility function to provideStream
of valueT
.- Returns:
Stream
of valueT
.
-
of
public static <T> IterableStream<T> of(Iterable<T> iterable)
Creates anIterableStream
from anIterable
.An empty
IterableStream
will 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
IterableStream
based on the passed collection.
-
-