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:
Anastasiia Smirnova
2018-11-02 18:25:19 +02:00
committed by Mark Paluch
parent d4b8e38622
commit 2db26d2765
2 changed files with 32 additions and 1 deletions

View File

@@ -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);
}
}
}