Package org.nuiton.util.pagination
Class PaginationParameter.PaginationParameterBuilder
java.lang.Object
org.nuiton.util.pagination.PaginationParameter.PaginationParameterBuilder
- Enclosing class:
- PaginationParameter
public static class PaginationParameter.PaginationParameterBuilder
extends java.lang.Object
Class used to build an instance of PaginationParameter. Use the
build() method to create the
PaginationParameter.- Since:
- 3.0
- Author:
- Arnaud Thimel (Code Lutin)
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<PaginationOrder>orderClausesprotected intpageNumberprotected intpageSize -
Constructor Summary
Constructors Constructor Description PaginationParameterBuilder(int pageNumber, int pageSize)Creates a Builder instance -
Method Summary
Modifier and Type Method Description PaginationParameter.PaginationParameterBuilderaddAscOrder(java.lang.String clause)Adds an ASC order clausePaginationParameter.PaginationParameterBuilderaddDescOrder(java.lang.String clause)Adds an DESC order clausePaginationParameter.PaginationParameterBuilderaddOrder(java.lang.String clause)Adds an order clause.PaginationParameter.PaginationParameterBuilderaddOrder(java.lang.String clause, boolean desc)Adds an order clausePaginationParameter.PaginationParameterBuilderaddOrderClauses(java.lang.Iterable<PaginationOrder> clauses)Adds an the given order clausesPaginationParameterbuild()Final method that instantiates the immutable PaginationParameter
-
Field Details
-
pageNumber
protected int pageNumber -
pageSize
protected int pageSize -
orderClauses
-
-
Constructor Details
-
PaginationParameterBuilder
public PaginationParameterBuilder(int pageNumber, int pageSize)Creates a Builder instance- Parameters:
pageNumber- the index (0-based) of the pagepageSize- the size of each page. Value can be -1 (for infinite pageSize) or greater than 0
-
-
Method Details
-
addOrder
public PaginationParameter.PaginationParameterBuilder addOrder(java.lang.String clause, boolean desc)Adds an order clause- Parameters:
clause- an order clause attribute name. It comes together with {code}desc{/code}desc- the asc/desc property associated with {code}clause{/code}- Returns:
- the current Builder for a Fluent usage
-
addAscOrder
Adds an ASC order clause- Parameters:
clause- an order clause attribute name- Returns:
- the current Builder for a Fluent usage
-
addDescOrder
Adds an DESC order clause- Parameters:
clause- an order clause attribute name- Returns:
- the current Builder for a Fluent usage
-
addOrder
Adds an order clause. The asc/desc value is guessed from the given {code}clause{/code}. The expected format is "column asc" or "column desc"- Parameters:
clause- an order clause attribute name. It comes together with {code}desc{/code}- Returns:
- the current Builder for a Fluent usage
-
addOrderClauses
public PaginationParameter.PaginationParameterBuilder addOrderClauses(java.lang.Iterable<PaginationOrder> clauses)Adds an the given order clauses- Parameters:
clauses- an list of order clauses- Returns:
- the current Builder for a Fluent usage
-
build
Final method that instantiates the immutable PaginationParameter- Returns:
- the immutable PaginationParameter built
-