@Override public int getFirstResult() { return loader != null ? loader.getFirstResult() : 0; }
@Override public int getMaxResults() { return loader != null ? loader.getMaxResults() : Integer.MAX_VALUE; }
@Override public void refresh() { if (loader != null) loader.load(); } }
@Override public void sort(Sort sort) { List items = getContainer().getItems(); if (items.isEmpty()) { return; } if (loader == null) { sortInMemory(sort); } else { loader.setSort(sort); if (loader.getFirstResult() == 0 && getContainer().getItems().size() < loader.getMaxResults()) { sortInMemory(sort); } else { loader.load(); } } } }
@Override public void setFirstResult(int startPosition) { if (loader != null) loader.setFirstResult(startPosition); }
@Override public void setMaxResults(int maxResults) { if (loader != null) loader.setMaxResults(maxResults); }
protected void loadFirstResult(Element element, BaseCollectionLoader loader) { String firstResultStr = element.attributeValue("firstResult"); if (Strings.isNullOrEmpty(firstResultStr)) return; loader.setFirstResult(Integer.parseInt(firstResultStr)); }
protected void loadMaxResults(Element element, BaseCollectionLoader loader) { String maxResultsStr = element.attributeValue("maxResults"); if (Strings.isNullOrEmpty(maxResultsStr)) return; loader.setMaxResults(Integer.parseInt(maxResultsStr)); }