import java.util.ArrayList;
import java.util.List;
public class PaginatedResults {
private List<Object> allResults; // The complete list of results from the API
private int pageSize; // Number of results per page
private int currentPage; // The current page being viewed
public PaginatedResults(List<Object> allResults, int pageSize, int currentPage) {
this.allResults = allResults;
this.pageSize = pageSize;
this.currentPage = currentPage;
}
public List<Object> getPage() {
int startIndex = (currentPage - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, allResults.size()); // Ensure doesn't go out of bounds
List<Object> page = new ArrayList<>();
for (int i = startIndex; i < endIndex; i++) {
page.add(allResults.get(i));
}
return page;
}
public int getTotalPages() {
return (int) Math.ceil((double) allResults.size() / pageSize);
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getPageSize() {
return pageSize;
}
}
Add your comment