@Override protected void jumpToItem(int itemLastIndex) throws Exception { synchronized (lock) { page = itemLastIndex / pageSize; int current = itemLastIndex % pageSize; Iterator<T> initialPage = doPageRead(); for(; current >= 0; current--) { initialPage.next(); } } } }
@Override protected T doRead() throws Exception { synchronized (lock) { if(results == null || !results.hasNext()) { results = doPageRead(); page ++; if(results == null || !results.hasNext()) { return null; } } if(results.hasNext()) { return results.next(); } else { return null; } } }
@Override protected void jumpToItem(int itemLastIndex) throws Exception { synchronized (lock) { page = itemLastIndex / pageSize; int current = itemLastIndex % pageSize; Iterator<T> initialPage = doPageRead(); for(; current >= 0; current--) { initialPage.next(); } } } }
@Override protected T doRead() throws Exception { synchronized (lock) { if(results == null || !results.hasNext()) { results = doPageRead(); page ++; if(results == null || !results.hasNext()) { return null; } } if(results.hasNext()) { return results.next(); } else { return null; } } }