1. import java.util.ArrayList;
  2. import java.util.List;
  3. public class PaginatedResults {
  4. private List<Object> allResults; // The complete list of results from the API
  5. private int pageSize; // Number of results per page
  6. private int currentPage; // The current page being viewed
  7. public PaginatedResults(List<Object> allResults, int pageSize, int currentPage) {
  8. this.allResults = allResults;
  9. this.pageSize = pageSize;
  10. this.currentPage = currentPage;
  11. }
  12. public List<Object> getPage() {
  13. int startIndex = (currentPage - 1) * pageSize;
  14. int endIndex = Math.min(startIndex + pageSize, allResults.size()); // Ensure doesn't go out of bounds
  15. List<Object> page = new ArrayList<>();
  16. for (int i = startIndex; i < endIndex; i++) {
  17. page.add(allResults.get(i));
  18. }
  19. return page;
  20. }
  21. public int getTotalPages() {
  22. return (int) Math.ceil((double) allResults.size() / pageSize);
  23. }
  24. public int getCurrentPage() {
  25. return currentPage;
  26. }
  27. public void setCurrentPage(int currentPage) {
  28. this.currentPage = currentPage;
  29. }
  30. public int getPageSize() {
  31. return pageSize;
  32. }
  33. }

Add your comment