All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dev.soffa.foundation.model.PagedList Maven / Gradle / Ivy

There is a newer version: 0.17.31
Show newest version
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