package pwc.taxtech.atms.dto.vatdto; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import java.util.ArrayList; import java.util.List; public class RestResponsePage<T> extends PageImpl<T> { private int number; private int size; private int totalPages; private int numberOfElements; private long totalElements; private boolean previousPage; private boolean first; private boolean nextPage; private boolean last; private List<T> content; private Sort sort; public RestResponsePage(List<T> content, Pageable pageable, long total) { super(content, pageable, total); } public RestResponsePage(List<T> content) { super(content); } public RestResponsePage() { super(new ArrayList<T>()); } public PageImpl<T> pageImpl() { return new PageImpl<T>(getContent(), new PageRequest(getNumber(), getSize(), getSort()), getTotalElements()); } @Override public int getNumber() { return this.number; } public void setNumber(int number) { this.number = number; } @Override public int getSize() { return this.size; } public void setSize(int size) { this.size = size; } @Override public int getTotalPages() { return this.totalPages; } public void setTotalPages(int totalPages) { this.totalPages = totalPages; } @Override public int getNumberOfElements() { return this.numberOfElements; } public void setNumberOfElements(int numberOfElements) { this.numberOfElements = numberOfElements; } @Override public long getTotalElements() { return this.totalElements; } public void setTotalElements(long totalElements) { this.totalElements = totalElements; } public boolean getPreviousPage() { return this.previousPage; } public void setPreviousPage(boolean previousPage) { this.previousPage = previousPage; } public boolean getFirst() { return this.first; } public void setFirst(boolean first) { this.first = first; } public boolean getNextPage() { return this.nextPage; } public void setNextPage(boolean nextPage) { this.nextPage = nextPage; } public boolean getLast() { return this.last; } public void setLast(boolean last) { this.last = last; } @Override public List<T> getContent() { return this.content; } public void setContent(List<T> content) { this.content = content; } @Override public Sort getSort() { return this.sort; } public void setSort(Sort sort) { this.sort = sort; } }