Interface PagePublisher<T>

Type Parameters:
T - The modelled type of the object in a page.
All Superinterfaces:
org.reactivestreams.Publisher<Page<T>>, SdkPublisher<Page<T>>

@ThreadSafe public interface PagePublisher<T> extends SdkPublisher<Page<T>>
Represents the result from paginated operations such as scan and query.

You can either subscribe to the Pages or flattened items across all pages via items(). Example:

1) Subscribing to Pages

 

 PagePublisher<MyItem> publisher = mappedTable.scan();
 publisher.subscribe(page -> page.items().forEach(item -> System.out.println(item)))
          .exceptionally(failure -> {
              failure.printStackTrace();
              return null;
          });
 
 

2) Subscribing to items across all pages.

 

 PagePublisher<MyItem> publisher = mappedTable.scan();
 publisher.items()
          .subscribe(item -> System.out.println(item))
          .exceptionally(failure -> {
              failure.printStackTrace();
              return null;
          });
 
 
  • Method Details

    • create

      static <T> PagePublisher<T> create(SdkPublisher<Page<T>> publisher)
      Creates a flattened items publisher with the underlying page publisher.
    • items

      default SdkPublisher<T> items()
      Returns a publisher that can be used to request a stream of items across all pages.

      This method is useful if you are interested in subscribing the items in the response pages instead of the top level pages.