Interface Page<T>
- Type Parameters:
T- The generic type
- All Known Subinterfaces:
CursoredPage<T>
@DefaultImplementation(io.micronaut.data.model.DefaultPage.class)
public interface Page<T>
extends Slice<T>
One page of query results: the records selected by a particular
Pageable (page number, page size and
sort order), together with the total number of records matching the query, from which the total number of pages
is calculated. Computing the total usually requires an additional count query; use Slice when it is not
needed.
Similar to Spring Data's Page and GORM's PagedResultList.
- Since:
- 1.0.0
- Author:
- graemerocher
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic <T2> Page<T2> empty()Creates an empty page object.default intGet the total count of pages that can be given by this query.longGet the total count of all the records that can be given by this query.default booleanhasNext()Determine whether there is a next page.booleandefault <T2> Page<T2> Maps the content with the given function.static <T> Page<T> Creates a page from the given content, pageable and totalSize.static <T> Page<T> ofCursors(List<T> content, Pageable pageable, @Nullable List<Pageable.Cursor> cursors, @Nullable Long totalSize) Creates a page from the given content, pageable, cursors and totalSize.Methods inherited from interface Iterable
forEach, spliteratorMethods inherited from interface Slice
getContent, getNumberOfElements, getOffset, getPageable, getPageNumber, getSize, getSort, hasPrevious, isEmpty, iterator, nextPageable, previousPageable
-
Field Details
-
EMPTY
-
-
Method Details
-
hasTotalSize
boolean hasTotalSize()- Returns:
- Whether this
Pagecontains the total count of the records - Since:
- 4.8.0
-
getTotalSize
long getTotalSize()Get the total count of all the records that can be given by this query. The method may produce aIllegalStateExceptionif thePageablerequest did not ask for total size. ForEMPTYpage the value is -1.- Returns:
- The total size of the all records.
-
getTotalPages
default int getTotalPages()Get the total count of pages that can be given by this query.- Returns:
- The total page of pages
-
hasNext
-
map
Maps the content with the given function. -
of
-
ofCursors
@Internal static <T> Page<T> ofCursors(List<T> content, Pageable pageable, @Nullable List<Pageable.Cursor> cursors, @Nullable Long totalSize) Creates a page from the given content, pageable, cursors and totalSize. This method is for JSON deserialization. Please useCursoredPage.of(List, Pageable, List, Long)instead.- Type Parameters:
T- The generic type- Parameters:
content- The contentpageable- The pageablecursors- The cursors for cursored paginationtotalSize- The total size- Returns:
- The slice
-
empty
Creates an empty page object.- Type Parameters:
T2- The generic type- Returns:
- The slice
-