@Override protected void jumpToItem(int itemLastIndex) throws Exception { synchronized (lock) { page = (itemLastIndex - 1) / pageSize; current = (itemLastIndex - 1) % pageSize; results = doPageRead(); page++; } }
@Override protected T doRead() throws Exception { synchronized (lock) { if(results == null || current >= results.size()) { if (logger.isDebugEnabled()) { logger.debug("Reading page " + page); } results = doPageRead(); current = 0; page ++; if(results.size() <= 0) { return null; } } if(current < results.size()) { T curLine = results.get(current); current++; return curLine; } else { return null; } } }
@Test public void testInvalidMethodName() throws Exception { reader.setMethodName("thisMethodDoesNotExist"); try { reader.doPageRead(); fail(); } catch (DynamicMethodInvocationException dmie) { assertTrue(dmie.getCause() instanceof NoSuchMethodException); } }
@Override protected void jumpToItem(int itemLastIndex) throws Exception { synchronized (lock) { page = (itemLastIndex - 1) / pageSize; current = (itemLastIndex - 1) % pageSize; results = doPageRead(); page++; } }
@Override protected T doRead() throws Exception { synchronized (lock) { if(results == null || current >= results.size()) { if (logger.isDebugEnabled()) { logger.debug("Reading page " + page); } results = doPageRead(); current = 0; page ++; if(results.size() <= 0) { return null; } } if(current < results.size()) { T curLine = results.get(current); current++; return curLine; } else { return null; } } }