PagedIterableBase.java
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.core.http.rest;
import com.azure.core.util.IterableStream;
import com.azure.core.util.paging.ContinuablePagedIterable;
import java.util.stream.Stream;
/**
* This class provides utility to iterate over responses that extend {@link PagedResponse} using {@link Stream} and
* {@link Iterable} interfaces.
*
* <p><strong>Code sample using {@link Stream} by page</strong></p>
*
* {@codesnippet com.azure.core.http.rest.pagedIterableBase.streamByPage}
*
* <p><strong>Code sample using {@link Iterable} by page</strong></p>
*
* {@codesnippet com.azure.core.http.rest.pagedIterableBase.iterableByPage}
*
* <p><strong>Code sample using {@link Iterable} by page and while loop</strong></p>
*
* {@codesnippet com.azure.core.http.rest.pagedIterableBase.iterableByPage.while}
*
* @param <T> The type of value contained in this {@link IterableStream}.
* @param <P> The response extending from {@link PagedResponse}
* @see PagedResponse
* @see IterableStream
*/
public class PagedIterableBase<T, P extends PagedResponse<T>> extends ContinuablePagedIterable<String, T, P> {
/**
* Creates instance given {@link PagedFluxBase}.
*
* @param pagedFluxBase to use as iterable
*/
public PagedIterableBase(PagedFluxBase<T, P> pagedFluxBase) {
super(pagedFluxBase);
}
}