PageWrapper.java 806 B

1234567891011121314151617181920212223242526272829303132
  1. package com.izouma.nineth.dto;
  2. import lombok.AllArgsConstructor;
  3. import lombok.Data;
  4. import lombok.NoArgsConstructor;
  5. import org.springframework.data.domain.Page;
  6. import org.springframework.data.domain.PageImpl;
  7. import org.springframework.data.domain.PageRequest;
  8. import java.util.List;
  9. @Data
  10. @NoArgsConstructor
  11. @AllArgsConstructor
  12. public class PageWrapper<T> {
  13. private List<T> content;
  14. private int page;
  15. private int size;
  16. private long total;
  17. public Page<T> toPage() {
  18. return new PageImpl<>(content, PageRequest.of(page, size), total);
  19. }
  20. public static <T> PageWrapper<T> of(Page<T> page) {
  21. return new PageWrapper<>(page.getContent(), page.getPageable().getPageNumber(),
  22. page.getPageable().getPageSize(), page.getTotalElements());
  23. }
  24. }