public class DocumentModelListPageProvider extends AbstractPageProvider<DocumentModel>
DocumentModelList
inside a
PageProvider
.
This page provider does not handle pagination at all, there is only one page with all the documents.
log
DEFAULT_MAX_PAGE_SIZE, DEFAULT_MAX_PAGE_SIZE_RUNTIME_PROP, PAGE_LIMIT_UNKNOWN, UNKNOWN_SIZE, UNKNOWN_SIZE_AFTER_QUERY
Constructor and Description |
---|
DocumentModelListPageProvider() |
DocumentModelListPageProvider(DocumentModelList docs) |
Modifier and Type | Method and Description |
---|---|
List<DocumentModel> |
getCurrentPage()
Returns the list of current page items.
|
long |
getCurrentPageSize()
Returns the number of elements in current page.
|
DocumentModelList |
getDocumentModelList() |
long |
getNumberOfPages()
Returns the total number of pages or 0 if number of pages is unknown.
|
long |
getPageSize()
Returns the number of results per page.
|
long |
getResultsCount()
Returns the number of result elements if available or a negative value
if it is unknown:
UNKNOWN_SIZE if it is unknown as query
was not done, and since 5.5, UNKNOWN_SIZE_AFTER_QUERY if it
is still unknown after query was done. |
void |
setDocumentModelList(List<DocumentModel> docs) |
addSortInfo, firstPage, getAggregateDefinitions, getAggregates, getCurrentEntry, getCurrentHigherNonEmptyPageIndex, getCurrentPageIndex, getCurrentPageOffset, getCurrentPageStatus, getCurrentSelectPage, getDefinition, getError, getErrorMessage, getMaxNumberOfEmptyPages, getMaxPageSize, getMinMaxPageSize, getName, getPageLimit, getParameters, getProperties, getSearchDocumentModel, getSortInfo, getSortInfoIndex, getSortInfos, hasAggregateSupport, hasChangedParameters, hasError, isLastPageAvailable, isNextEntryAvailable, isNextPageAvailable, isPreviousEntryAvailable, isPreviousPageAvailable, isSortable, last, lastPage, next, nextEntry, nextPage, previous, previousEntry, previousPage, refresh, rewind, setCurrentEntry, setCurrentEntryIndex, setCurrentHigherNonEmptyPageIndex, setCurrentPage, setCurrentPageIndex, setCurrentPageOffset, setDefinition, setMaxPageSize, setName, setPageProviderChangedListener, setPageSize, setParameters, setProperties, setResultsCount, setSearchDocumentModel, setSelectedEntries, setSortable, setSortInfo, setSortInfo, setSortInfos
public DocumentModelListPageProvider()
public DocumentModelListPageProvider(DocumentModelList docs)
public void setDocumentModelList(List<DocumentModel> docs)
public DocumentModelList getDocumentModelList()
public List<DocumentModel> getCurrentPage()
AbstractPageProvider
Custom implementation can be added here, based on the page provider
properties, parameters and WhereClauseDefinition
on the
PageProviderDefinition
, as well as search document, sort
information, etc...
Implementation of this method usually consists in setting a non-null
value to a field caching current items, and nullifying this field by
overriding AbstractPageProvider.pageChanged()
and AbstractPageProvider.refresh()
.
Fields AbstractPageProvider.errorMessage
and AbstractPageProvider.error
can also be filled to
provide accurate feedback in case an error occurs during the search.
When items are retrieved, a call to AbstractPageProvider.setResultsCount(long)
should be made to ensure proper pagination as implemented in this
abstract class. The implementation in
CoreQueryAndFetchPageProvider
is a good example when the total
results count is known.
If for performance reasons, for instance, the number of results cannot
be known, a fall-back strategy can be applied to provide the "next"
button but not the "last" one, by calling
AbstractPageProvider.getCurrentHigherNonEmptyPageIndex()
and
AbstractPageProvider.setCurrentHigherNonEmptyPageIndex(int)
. In this case,
CoreQueryDocumentPageProvider
is a good example.
getCurrentPage
in interface PageProvider<DocumentModel>
getCurrentPage
in class AbstractPageProvider<DocumentModel>
public long getResultsCount()
PageProvider
UNKNOWN_SIZE
if it is unknown as query
was not done, and since 5.5, UNKNOWN_SIZE_AFTER_QUERY
if it
is still unknown after query was done.getResultsCount
in interface PageProvider<DocumentModel>
getResultsCount
in class AbstractPageProvider<DocumentModel>
public long getPageSize()
PageProvider
getPageSize
in interface PageProvider<DocumentModel>
getPageSize
in class AbstractPageProvider<DocumentModel>
public long getCurrentPageSize()
PageProvider
getCurrentPageSize
in interface PageProvider<DocumentModel>
getCurrentPageSize
in class AbstractPageProvider<DocumentModel>
public long getNumberOfPages()
PageProvider
getNumberOfPages
in interface PageProvider<DocumentModel>
getNumberOfPages
in class AbstractPageProvider<DocumentModel>
Copyright © 2014 Nuxeo SA. All rights reserved.