package com.ecep.contract; import lombok.Data; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import java.util.List; @Data public class PageContent { private List content; private PageArgument page; private int totalElements; private int totalPages; public static PageContent of(Page page) { PageContent content = new PageContent<>(); content.setContent(page.getContent()); content.setPage(PageArgument.of(page.getPageable())); content.setTotalElements((int) page.getTotalElements()); content.setTotalPages(page.getTotalPages()); return content; } public Page toPage() { PageImpl page = new PageImpl<>(content == null ? List.of() : content, getPage().toPageable(), totalElements); return page; } }