Add PageRequest builder.
We now support PageRequest creation through PageRequest.ofSize(10).withPage(1).withSort(Direction.DESC, "foo"). Simplified Pageable instances can be created through Pageable.ofSize(10).withPage(1). Closes #322.
This commit is contained in:
committed by
Mark Paluch
parent
d4b8e38622
commit
2db26d2765
@@ -83,6 +83,10 @@ public class PageRequest extends AbstractPageRequest {
|
||||
return of(page, size, Sort.by(direction, properties));
|
||||
}
|
||||
|
||||
public static PageRequestBuilder pageRequest() {
|
||||
return new PageRequestBuilder();
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see org.springframework.data.domain.Pageable#getSort()
|
||||
@@ -155,4 +159,30 @@ public class PageRequest extends AbstractPageRequest {
|
||||
public String toString() {
|
||||
return String.format("Page request [number: %d, size %d, sort: %s]", getPageNumber(), getPageSize(), sort);
|
||||
}
|
||||
|
||||
public static final class PageRequestBuilder {
|
||||
|
||||
private Sort sort = Sort.unsorted();
|
||||
private int page;
|
||||
private int size;
|
||||
|
||||
public PageRequestBuilder sort(Sort sort) {
|
||||
this.sort = sort;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PageRequestBuilder page(int page) {
|
||||
this.page = page;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PageRequestBuilder size(int size) {
|
||||
this.size = size;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PageRequest build() {
|
||||
return PageRequest.of(page, size, sort);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user