Class PaginationResult<T extends BaseEntity>
- java.lang.Object
-
- com.github.collinalpert.java2db.pagination.PaginationResult<T>
-
- Direct Known Subclasses:
CacheablePaginationResult
public class PaginationResult<T extends BaseEntity> extends java.lang.ObjectClass for a simple pagination implementation.- Author:
- Collin Alpert
-
-
Constructor Summary
Constructors Constructor Description PaginationResult(java.util.List<Query<T>> queries)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetNumberOfPages()Gets the amount of pages created to split up a query.java.util.List<T>getPage(int number)Retrieves a specific page represented by aList.java.util.stream.Stream<T>getPageAsStream(int number)Retrieves a specific page represented by aStream.PaginationResult<T>orderBy(com.github.collinalpert.lambda2sql.functions.SqlFunction<T,?> orderFunction)An overload of theorderBy(SqlFunction, OrderTypes)method.PaginationResult<T>orderBy(com.github.collinalpert.lambda2sql.functions.SqlFunction<T,?> orderFunction, OrderTypes orderType)Adds an ORDER BY statement to the queries executed for the pages.
-
-
-
Field Detail
-
queries
protected final java.util.List<Query<T extends BaseEntity>> queries
-
-
Method Detail
-
getNumberOfPages
public int getNumberOfPages()
Gets the amount of pages created to split up a query.- Returns:
- The number of pages created for the result.
-
getPage
public java.util.List<T> getPage(int number)
Retrieves a specific page represented by aList. Only then will a query to the database be executed.- Parameters:
number- The number of the page. The first page has the index 1.- Returns:
- A
Listof entities on this page.
-
getPageAsStream
public java.util.stream.Stream<T> getPageAsStream(int number)
Retrieves a specific page represented by aStream. Only then will a query to the database be executed.- Parameters:
number- The number of the page. The first page has the index 1.- Returns:
- A
Streamof entities on this page.
-
orderBy
public PaginationResult<T> orderBy(com.github.collinalpert.lambda2sql.functions.SqlFunction<T,?> orderFunction)
An overload of theorderBy(SqlFunction, OrderTypes)method. Will order in an ascending fashion.- Parameters:
orderFunction- The function to order by.- Returns:
- This object with the added ordering feature.
- See Also:
orderBy(SqlFunction, OrderTypes)
-
orderBy
public PaginationResult<T> orderBy(com.github.collinalpert.lambda2sql.functions.SqlFunction<T,?> orderFunction, OrderTypes orderType)
Adds an ORDER BY statement to the queries executed for the pages. Note that this will order the entire pagination structure and not every page separately.- Parameters:
orderFunction- The function to order by.orderType- The direction of order.- Returns:
- This object with the added ordering feature.
-
-