Class DocumentModelListPageProvider
- All Implemented Interfaces:
Serializable
,PageProvider<DocumentModel>
DocumentModelList
inside a PageProvider
.
This page provider does not handle pagination at all, there is only one page with all the documents.
- Since:
- 5.6
- Author:
- Thomas Roger
- See Also:
-
Field Summary
Fields inherited from class org.nuxeo.ecm.platform.query.api.AbstractPageProvider
currentEntryIndex, currentHigherNonEmptyPageIndex, currentSelectPage, definition, error, errorMessage, highlights, maxPageSize, name, offset, PAGEPROVIDER_TRACK_PROPERTY_NAME, pageProviderChangedListener, pageSize, pageSizeOptions, parameters, properties, quickFilters, resultsCount, searchDocumentModel, selectedEntries, SKIPPED_SCHEMAS_FOR_SEARCHFIELD, sortable, sortInfos, tracking
Fields inherited from interface org.nuxeo.ecm.platform.query.api.PageProvider
DEFAULT_MAX_PAGE_SIZE, DEFAULT_MAX_PAGE_SIZE_RUNTIME_PROP, HIGHLIGHT_CTX_DATA, PAGE_LIMIT_UNKNOWN, SKIP_AGGREGATES_PROP, UNKNOWN_SIZE, UNKNOWN_SIZE_AFTER_QUERY
-
Constructor Summary
ConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptionReturns the list of current page items.long
Returns the number of elements in current page.long
Returns the total number of pages or 0 if number of pages is unknown.long
Returns the number of results per page. 0 means no pagination unlessPageProvider.getMaxPageSize()
is greater than this value, it will be taken into account instead.long
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
Methods inherited from class org.nuxeo.ecm.platform.query.api.AbstractPageProvider
addQuickFilter, addSortInfo, fireSearchEvent, firstPage, getAggregateDefinitions, getAggregates, getAvailableQuickFilters, getBooleanProperty, getCurrentEntry, getCurrentHigherNonEmptyPageIndex, getCurrentPageIndex, getCurrentPageOffset, getCurrentPageStatus, getCurrentSelectPage, getDefaultMaxPageSize, getDefinition, getError, getErrorMessage, getHighlights, getMaxNumberOfEmptyPages, getMaxPageSize, getMinMaxPageSize, getName, getPageLimit, getPageSizeOptions, getParameters, getParametersChanged, getProperties, getQuickFilters, getResultsCountLimit, getSearchDocumentModel, getSortInfo, getSortInfoIndex, getSortInfos, hasAggregateSupport, hasChangedParameters, hasError, incorporateAggregates, isLastPageAvailable, isNextEntryAvailable, isNextPageAvailable, isPreviousEntryAvailable, isPreviousPageAvailable, isSkipAggregates, isSortable, isTrackingEnabled, lastPage, nextEntry, nextPage, notifyPageChanged, notifyRefresh, pageChanged, previousEntry, previousPage, refresh, searchDocumentModelChanged, setCurrentEntry, setCurrentEntryIndex, setCurrentHigherNonEmptyPageIndex, setCurrentPage, setCurrentPageIndex, setCurrentPageOffset, setDefinition, setHighlights, setMaxPageSize, setName, setPageProviderChangedListener, setPageSize, setPageSizeOptions, setParameters, setProperties, setQuickFilters, setResultsCount, setSearchDocumentModel, setSelectedEntries, setSortable, setSortInfo, setSortInfo, setSortInfos, sortInfoChanged
-
Field Details
-
docs
-
-
Constructor Details
-
DocumentModelListPageProvider
public DocumentModelListPageProvider() -
DocumentModelListPageProvider
-
-
Method Details
-
setDocumentModelList
-
getDocumentModelList
-
getCurrentPage
Description copied from class:AbstractPageProvider
Returns the list of current page items.Custom implementation can be added here, based on the page provider properties, parameters and
WhereClauseDefinition
on thePageProviderDefinition
, 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()
andAbstractPageProvider.refresh()
.Fields
AbstractPageProvider.errorMessage
andAbstractPageProvider.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 inCoreQueryAndFetchPageProvider
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()
andAbstractPageProvider.setCurrentHigherNonEmptyPageIndex(int)
. In this case,CoreQueryDocumentPageProvider
is a good example.- Specified by:
getCurrentPage
in interfacePageProvider<DocumentModel>
- Specified by:
getCurrentPage
in classAbstractPageProvider<DocumentModel>
- Returns:
- the current page
-
getResultsCount
public long getResultsCount()Description copied from interface:PageProvider
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.- Specified by:
getResultsCount
in interfacePageProvider<DocumentModel>
- Overrides:
getResultsCount
in classAbstractPageProvider<DocumentModel>
-
getPageSize
public long getPageSize()Description copied from interface:PageProvider
Returns the number of results per page. 0 means no pagination unlessPageProvider.getMaxPageSize()
is greater than this value, it will be taken into account instead.- Specified by:
getPageSize
in interfacePageProvider<DocumentModel>
- Overrides:
getPageSize
in classAbstractPageProvider<DocumentModel>
-
getCurrentPageSize
public long getCurrentPageSize()Description copied from interface:PageProvider
Returns the number of elements in current page.- Specified by:
getCurrentPageSize
in interfacePageProvider<DocumentModel>
- Overrides:
getCurrentPageSize
in classAbstractPageProvider<DocumentModel>
-
getNumberOfPages
public long getNumberOfPages()Description copied from interface:PageProvider
Returns the total number of pages or 0 if number of pages is unknown.- Specified by:
getNumberOfPages
in interfacePageProvider<DocumentModel>
- Overrides:
getNumberOfPages
in classAbstractPageProvider<DocumentModel>
-