
dev.soffa.foundation.model.PagedList Maven / Gradle / Ivy
package dev.soffa.foundation.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PagedList {
private List data;
private Pagination paging;
public static PagedList of(List items, long total, Paging paging) {
boolean hasMore = total > ((long) paging.getPage() * paging.getSize());
int pages = (int) (total / paging.getSize());
if (total % paging.getSize() > 0) {
pages++;
}
List elements = items;
if (elements == null) {
elements = new ArrayList<>();
}
Pagination p = new Pagination(hasMore, total, pages, paging.getSize(), paging.getPage(), elements.size());
return new PagedList<>(elements, p);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy