public List<T> getItems(Indexes indexes) { final List<T> toReturn = Lists.newLinkedList(); for (Integer i : indexes.getIndexes(items.size())) { if (i < items.size()) { toReturn.add(items.get(i)); } if (toReturn.size() == maxResults) { break; } } return toReturn; } };
public List<T> getItems(Indexes indexes) { final int startIndex = indexes.getMinIndex(size); if (startIndex != -1) { setStartIndex(startIndex); } return getPagingCallback().getItems(indexes); } };
private int calculateEndIndex(Indexes indexes) { // we are 0-based here final int maxIndex = indexes.getMaxIndex(getSize()); final int resultsSize = maxIndex - startIndex + 1; final int maxResultsSize = getMaxResults(); if (resultsSize > maxResultsSize) { final int maxAllowedEndIdex = startIndex + maxResultsSize - 1; return Math.min(maxAllowedEndIdex, getSize() - 1); } else { return maxIndex; } } };
@Override public List<T> getItems(Indexes indexes) { size = getBackingListSize(); if (size > 0) { startIndex = indexes.getMinIndex(getSize()); if (startIndex >= 0) { endIndex = calculateEndIndex(indexes); final List<Z> sortedBackingObjects = getOrderedList(startIndex, endIndex); for (Z backingObject : sortedBackingObjects) { pagedBeans.add(fromBackedObject(backingObject)); } } } return pagedBeans; }
public List<T> getItems(Indexes indexes) { if (maxResults == 0) { return emptyList(); } int remainingResults = maxResults; final List<T> toReturn = Lists.newArrayListWithCapacity(Math.min(items.size(), maxResults)); for (Integer i : indexes.getIndexes(items.size())) { if (remainingResults-- == 0) { break; } toReturn.add(items.get(i)); } return toReturn; } };