mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-02-14 02:27:01 +01:00
Implemented unit tests for Manager and added param checks
This commit is contained in:
@@ -41,6 +41,8 @@ import java.io.IOException;
|
||||
import java.util.Collection;
|
||||
import java.util.Comparator;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
|
||||
/**
|
||||
* Base interface for all manager classes.
|
||||
*
|
||||
@@ -139,6 +141,9 @@ public interface Manager<T extends ModelObject, E extends Exception>
|
||||
* empty page result is returned.
|
||||
*/
|
||||
default PageResult<T> getPage(Comparator<T> comparator, int pageNumber, int pageSize) {
|
||||
checkArgument(pageSize > 0, "pageSize must be at least 1");
|
||||
checkArgument(pageNumber >= 0, "pageNumber must be non-negative");
|
||||
|
||||
Collection<T> entities = getAll(comparator, pageNumber * pageSize, pageSize + 1);
|
||||
boolean hasMore = entities.size() > pageSize;
|
||||
return new PageResult<>(Util.createSubCollection(entities, 0, pageSize), hasMore);
|
||||
|
||||
Reference in New Issue
Block a user