From 5a1fd27fa8ef8a88b2a7e28d7c253a7178acb4d7 Mon Sep 17 00:00:00 2001 From: Gavin King <gavin@hibernate.org> Date: Thu, 29 Feb 2024 13:29:21 +0100 Subject: [PATCH] add boolean Page.hasNextPage() so that iteration works via page.hasNextPage() instead of more verbosely page.nextPageRequest() != null --- api/src/main/java/jakarta/data/page/Page.java | 7 +++++++ api/src/main/java/jakarta/data/page/impl/PageRecord.java | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/api/src/main/java/jakarta/data/page/Page.java b/api/src/main/java/jakarta/data/page/Page.java index 24625b3df..0d3691e15 100644 --- a/api/src/main/java/jakarta/data/page/Page.java +++ b/api/src/main/java/jakarta/data/page/Page.java @@ -41,6 +41,13 @@ */ public interface Page<T> extends Slice<T> { + /** + * Returns {@code true} if it is known that there are more results, so that + * {@link #nextPageRequest()} will definitely not return {@code null}. + * @return {@code false} if this the last page of results + */ + boolean hasNextPage(); + /** * Returns the total number of elements across all pages that can be requested for the query. * @return the total number of elements across all pages. diff --git a/api/src/main/java/jakarta/data/page/impl/PageRecord.java b/api/src/main/java/jakarta/data/page/impl/PageRecord.java index 56075a3d7..7f39c6748 100644 --- a/api/src/main/java/jakarta/data/page/impl/PageRecord.java +++ b/api/src/main/java/jakarta/data/page/impl/PageRecord.java @@ -55,6 +55,11 @@ public int numberOfElements() { return content.size(); } + @Override + public boolean hasNextPage() { + return moreResults; + } + @Override @SuppressWarnings("unchecked") public <E> PageRequest<E> pageRequest(Class<E> entityClass) {