Class DocumentModelListPageProvider
- java.lang.Object
-
- org.nuxeo.ecm.platform.query.api.AbstractPageProvider<DocumentModel>
-
- org.nuxeo.ecm.platform.query.core.DocumentModelListPageProvider
-
- All Implemented Interfaces:
Serializable
,PageProvider<DocumentModel>
public class DocumentModelListPageProvider extends AbstractPageProvider<DocumentModel>
Wraps aDocumentModelList
inside aPageProvider
.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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected DocumentModelList
docs
-
Fields inherited from class org.nuxeo.ecm.platform.query.api.AbstractPageProvider
currentEntryIndex, currentHigherNonEmptyPageIndex, currentSelectPage, definition, error, errorMessage, highlights, log, 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
Constructors Constructor Description DocumentModelListPageProvider()
DocumentModelListPageProvider(DocumentModelList docs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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)
-
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 Detail
-
docs
protected final DocumentModelList docs
-
-
Constructor Detail
-
DocumentModelListPageProvider
public DocumentModelListPageProvider()
-
DocumentModelListPageProvider
public DocumentModelListPageProvider(DocumentModelList docs)
-
-
Method Detail
-
setDocumentModelList
public void setDocumentModelList(List<DocumentModel> docs)
-
getDocumentModelList
public DocumentModelList getDocumentModelList()
-
getCurrentPage
public List<DocumentModel> 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>
-
-