Interface PageProvider<T>
- Type Parameters:
T- any Serializable item
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
AbstractGroupMemberPageProvider,AbstractGroupsPageProvider,AbstractPageProvider,AbstractUsersPageProvider,AuditPageProvider,CoreQueryAndFetchPageProvider,CoreQueryDocumentPageProvider,DirectoryEntryPageProvider,DocumentHistoryPageProvider,DocumentModelListPageProvider,ElasticSearchNativePageProvider,ElasticSearchNxqlPageProvider,EmptyPageProvider,ESAuditPageProvider,ESDocumentHistoryPageProvider,GroupMemberGroupsPageProvider,GroupMemberUsersPageProvider,GroupsPageProvider,LatestCreatedUsersOrGroupsPageProvider,MongoDBAuditPageProvider,MongoDBDocumentHistoryPageProvider,NuxeoGroupsPageProvider,NuxeoPrincipalsPageProvider,RoutingTaskPageProvider,ShibbolethGroupsPageProvider,UsersPageProvider,UserTaskPageProvider,VFolderPageProvider
Provides APIs to navigate between result pages
- Since:
- 5.4
- Author:
- arussel, Anahide Tchertchian
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final longDefault maximum page size value.static final Stringstatic final StringHighlight context data property name.static final longPage limit unknown.static final Stringstatic final longConstant to express that the total number of result elements is unknown (usually because the query has not been done yet).static final longConstant to express that the total number of result elements is unknown even after performing a query. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddQuickFilter(QuickFilter quickFilter) voidaddSortInfo(String sortColumn, boolean sortAscending) Add the given sort info to the list of sorting infos.voidGo to the first pageReturns the current entry.Returns the current page of results.longReturns the current page index as a zero-based integer.longReturns the offset (starting from 0) of the first element in the current page orUNKNOWN_SIZE.longReturns the number of elements in current page.Returns a simple formatted string for current pagination status.Returns the current page of results wrapped in aPageSelectionitem.getError()longReturns the max number of results per page. 0 means no pagination.getName()Returns the provider identifierlongReturns the total number of pages or 0 if number of pages is unknown.longReturns the page limit.longReturns the number of results per page. 0 means no pagination unlessgetMaxPageSize()is greater than this value, it will be taken into account instead.Returns a list of available page size options to display in the page size selector.Object[]Gets properties set on the provider.longReturns the number of result elements if available or a negative value if it is unknown:UNKNOWN_SIZEif it is unknown as query was not done, and since 5.5,UNKNOWN_SIZE_AFTER_QUERYif it is still unknown after query was done.longLimit of number of results beyond which the page provider may not be able to computegetResultsCount()or navigate.Returns the first sorting info for this providerintgetSortInfoIndex(String sortColumn, boolean sortAscending) Returns a positive 0-based integer if given sort information is found on the set sort infos, indicating the sort index, or -1 if this sort information is not found.Returns the complete list of sorting info for this providerbooleanbooleanhasChangedParameters(Object[] parameters) Test if provider parameters have changedbooleanhasError()booleanReturns a boolean expressing if the last page can be displayed.booleanReturns true if there is a next entry.booleanReturns a boolean expressing if there are further pages.booleanReturns true if there is a previous entry.booleanReturns a boolean expressing if there is a previous page.booleanbooleanReturns if this provider is sortablevoidlastPage()Go to the last page.voidMove the current entry to the next one, if applicable.voidnextPage()Go to the next pagevoidMove the current entry to the previous one, if applicable.voidGo to the previous pagevoidrefresh()Forces refresh of the current page.voidsetCurrentEntry(T entry) Sets the current entry.voidsetCurrentEntryIndex(long index) Sets the current entry index.setCurrentPage(long page) Sets the current page of results to the required one and return it.voidsetCurrentPageIndex(long currentPageIndex) Sets the current page of results to the required one.voidsetCurrentPageOffset(long offset) Sets the current page offset.voidsetDefinition(PageProviderDefinition providerDefinition) voidsetHighlights(List<String> highlights) voidsetMaxPageSize(long pageSize) Sets the max number of results per page. 0 means no pagination.voidSets the provider identifiervoidSets thePageProviderChangedListenerfor thisPageProvider.voidsetPageSize(long pageSize) Sets the number of results per page. 0 means no pagination unlessgetMaxPageSize()is greater than this value, it will be taken into account instead.voidsetPageSizeOptions(List<Long> options) Sets the page size options.voidsetParameters(Object[] parameters) voidsetProperties(Map<String, Serializable> properties) Sets properties set on the provider.voidsetQuickFilters(List<QuickFilter> quickFilters) voidsetResultsCount(long resultsCount) Sets the results count.voidvoidsetSelectedEntries(List<T> entries) Sets the list of selected entries to take into account ingetCurrentSelectPage().voidsetSortable(boolean sortable) voidsetSortInfo(String sortColumn, boolean sortAscending, boolean removeOtherSortInfos) Sets the first and only sorting info for this provider if parameter removeOtherSortInfos is true.voidsetSortInfo(SortInfo sortInfo) Sets the first and only sorting info for this provider.voidsetSortInfos(List<SortInfo> sortInfo) Sets the complete list of sorting info for this provider
-
Field Details
-
DEFAULT_MAX_PAGE_SIZE_RUNTIME_PROP
- See Also:
-
UNKNOWN_SIZE
static final long UNKNOWN_SIZEConstant to express that the total number of result elements is unknown (usually because the query has not been done yet).- See Also:
-
UNKNOWN_SIZE_AFTER_QUERY
static final long UNKNOWN_SIZE_AFTER_QUERYConstant to express that the total number of result elements is unknown even after performing a query.- Since:
- 5.5
- See Also:
-
DEFAULT_MAX_PAGE_SIZE
static final long DEFAULT_MAX_PAGE_SIZEDefault maximum page size value.- Since:
- 6.0, default value is 1000.
- See Also:
-
PAGE_LIMIT_UNKNOWN
static final long PAGE_LIMIT_UNKNOWNPage limit unknown.- Since:
- 5.8
- See Also:
-
HIGHLIGHT_CTX_DATA
Highlight context data property name. Used to store highlights in document context data when fetching ES results- Since:
- 9.1
- See Also:
-
SKIP_AGGREGATES_PROP
- Since:
- 10.2
- See Also:
-
-
Method Details
-
getName
String getName()Returns the provider identifier -
setName
Sets the provider identifier -
getProperties
Map<String,Serializable> getProperties()Gets properties set on the provider.Useful to retrieve a provider specific field attributes after instantiation. Other contextual parameters can be passed through API constructing the result provider.
-
setProperties
Sets properties set on the provider.Useful to initialize a provider specific field attributes after instantiation. Other contextual parameters can be passed through API constructing the result provider.
-
getParameters
Object[] getParameters() -
setParameters
-
getPageSize
long getPageSize()Returns the number of results per page. 0 means no pagination unlessgetMaxPageSize()is greater than this value, it will be taken into account instead. -
setPageSize
void setPageSize(long pageSize) Sets the number of results per page. 0 means no pagination unlessgetMaxPageSize()is greater than this value, it will be taken into account instead. -
getMaxPageSize
long getMaxPageSize()Returns the max number of results per page. 0 means no pagination.If page size is greater than this maximum value, it will be taken into account instead.
- Since:
- 5.4.2
-
setMaxPageSize
void setMaxPageSize(long pageSize) Sets the max number of results per page. 0 means no pagination.If page size is greater than this maximum value, it will be taken into account instead.
- Since:
- 5.4.2
-
getPageSizeOptions
Returns a list of available page size options to display in the page size selector.Uses an hardcoded list of values, and adds up the page provider initial and current page sizes.
- Since:
- 7.3
-
setPageSizeOptions
Sets the page size options.- Since:
- 7.3
-
getResultsCount
long getResultsCount()Returns the number of result elements if available or a negative value if it is unknown:UNKNOWN_SIZEif it is unknown as query was not done, and since 5.5,UNKNOWN_SIZE_AFTER_QUERYif it is still unknown after query was done. -
setResultsCount
void setResultsCount(long resultsCount) Sets the results count.- Since:
- 5.5
-
getNumberOfPages
long getNumberOfPages()Returns the total number of pages or 0 if number of pages is unknown. -
getPageLimit
long getPageLimit()Returns the page limit. The n first page we know they exist.- Since:
- 5.7.3
-
getCurrentPage
Returns the current page of results.This method is designed to be called from higher levels. It therefore ensures cheapness of repeated calls, rather than data consistency. There is a refresh() method for that.
- Returns:
- the current page
-
getCurrentSelectPage
PageSelections<T> getCurrentSelectPage()Returns the current page of results wrapped in aPageSelectionitem.By default, no entry is selected, unless
setSelectedEntries(List)has been called before. -
setSelectedEntries
Sets the list of selected entries to take into account ingetCurrentSelectPage(). -
setCurrentPageOffset
void setCurrentPageOffset(long offset) Sets the current page offset.If the provider keeps information linked to the current page, they should be reset after calling this method.
- Since:
- 5.5
-
setCurrentPageIndex
void setCurrentPageIndex(long currentPageIndex) Sets the current page of results to the required one.- Parameters:
currentPageIndex- the page index, starting from 0- Since:
- 5.7.3
-
setCurrentPage
Sets the current page of results to the required one and return it.- Parameters:
page- the page index, starting from 0
-
refresh
void refresh()Forces refresh of the current page. -
isNextPageAvailable
boolean isNextPageAvailable()Returns a boolean expressing if there are further pages. -
isLastPageAvailable
boolean isLastPageAvailable()Returns a boolean expressing if the last page can be displayed.- Since:
- 5.5
-
isPreviousPageAvailable
boolean isPreviousPageAvailable()Returns a boolean expressing if there is a previous page. -
getCurrentPageSize
long getCurrentPageSize()Returns the number of elements in current page. -
getCurrentPageOffset
long getCurrentPageOffset()Returns the offset (starting from 0) of the first element in the current page orUNKNOWN_SIZE. -
getCurrentPageIndex
long getCurrentPageIndex()Returns the current page index as a zero-based integer. -
getCurrentPageStatus
String getCurrentPageStatus()Returns a simple formatted string for current pagination status. -
firstPage
void firstPage()Go to the first page -
previousPage
void previousPage()Go to the previous page -
nextPage
void nextPage()Go to the next page -
lastPage
void lastPage()Go to the last page. Does not do anything if there is only one page displayed, or if the number of results is unknown. -
getCurrentEntry
T getCurrentEntry()Returns the current entry. -
setCurrentEntry
Sets the current entry. -
setCurrentEntryIndex
void setCurrentEntryIndex(long index) Sets the current entry index. -
isNextEntryAvailable
boolean isNextEntryAvailable()Returns true if there is a next entry.The next entry might be in next page, except if results count is unknown.
-
isPreviousEntryAvailable
boolean isPreviousEntryAvailable()Returns true if there is a previous entry.The previous entry might be in previous page.
-
previousEntry
void previousEntry()Move the current entry to the previous one, if applicable.No exception: this method is intended to be plugged directly at the UI layer. In case there's no previous entry, nothing will happen.
-
nextEntry
void nextEntry()Move the current entry to the next one, if applicable.If needed and possible, the provider will forward to next page. No special exceptions: this method is intended to be plugged directly at the UI layer. In case there's no next entry, nothing happens.
-
isSortable
boolean isSortable()Returns if this provider is sortable -
setSortable
void setSortable(boolean sortable) -
getSortInfos
Returns the complete list of sorting info for this provider -
getSortInfo
SortInfo getSortInfo()Returns the first sorting info for this providerAlso kept for compatibility with existing code.
-
setSortInfos
Sets the complete list of sorting info for this provider -
setSortInfo
Sets the first and only sorting info for this provider.Also kept for compatibility with existing code.
-
setSortInfo
Sets the first and only sorting info for this provider if parameter removeOtherSortInfos is true. Otherwise, adds or changes the sortAscending information according to given direction. -
addSortInfo
Add the given sort info to the list of sorting infos. -
getSortInfoIndex
Returns a positive 0-based integer if given sort information is found on the set sort infos, indicating the sort index, or -1 if this sort information is not found. -
getSearchDocumentModel
DocumentModel getSearchDocumentModel() -
setSearchDocumentModel
-
hasError
boolean hasError() -
getErrorMessage
String getErrorMessage() -
getError
Throwable getError() -
setDefinition
-
getDefinition
PageProviderDefinition getDefinition() -
setPageProviderChangedListener
Sets thePageProviderChangedListenerfor thisPageProvider.- Since:
- 5.7
-
hasChangedParameters
Test if provider parameters have changed- Since:
- 5.7
-
getAggregateDefinitions
List<AggregateDefinition> getAggregateDefinitions()- Since:
- 6.0
-
getAggregates
- Since:
- 6.0
-
hasAggregateSupport
boolean hasAggregateSupport()- Since:
- 6.0
-
isSkipAggregates
boolean isSkipAggregates()- Since:
- 10.2
-
getQuickFilters
List<QuickFilter> getQuickFilters()- Since:
- 8.4
-
setQuickFilters
- Since:
- 8.4
-
addQuickFilter
- Since:
- 8.4
-
getAvailableQuickFilters
List<QuickFilter> getAvailableQuickFilters()- Since:
- 8.4
-
getHighlights
- Since:
- 9.1
-
setHighlights
- Since:
- 9.1
-
getResultsCountLimit
long getResultsCountLimit()Limit of number of results beyond which the page provider may not be able to computegetResultsCount()or navigate.Requesting results beyond this limit may result in error. When
getResultsCount()is negative, it means there may be more results than this limit.0 means there is no limit.
- Since:
- 9.3
-