Class AbstractGroupMemberPageProvider<T>
- All Implemented Interfaces:
Serializable,PageProvider<T>
- Direct Known Subclasses:
GroupMemberGroupsPageProvider,GroupMemberUsersPageProvider
- Since:
- 8.2
- See Also:
-
Field Summary
FieldsFields 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, trackingFields 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 -
Method Summary
Modifier and TypeMethodDescriptionReturns the list of current page items.protected abstract TgetMembers(NuxeoGroup group) longReturns the page limit.protected UserManagerbooleanReturns if this provider is sortableprotected voidPage change hook, to override for custom behaviorprotected static intsafeLongToInt(long l) Methods inherited from class org.nuxeo.ecm.platform.query.api.AbstractPageProvider
addQuickFilter, addSortInfo, fireSearchEvent, firstPage, getAggregateDefinitions, getAggregates, getAvailableQuickFilters, getBooleanProperty, getCurrentEntry, getCurrentHigherNonEmptyPageIndex, getCurrentPageIndex, getCurrentPageOffset, getCurrentPageSize, getCurrentPageStatus, getCurrentSelectPage, getDefaultMaxPageSize, getDefinition, getError, getErrorMessage, getHighlights, getMaxNumberOfEmptyPages, getMaxPageSize, getMinMaxPageSize, getName, getNumberOfPages, getPageSize, getPageSizeOptions, getParameters, getParametersChanged, getProperties, getQuickFilters, getResultsCount, getResultsCountLimit, getSearchDocumentModel, getSortInfo, getSortInfoIndex, getSortInfos, hasAggregateSupport, hasChangedParameters, hasError, incorporateAggregates, isLastPageAvailable, isNextEntryAvailable, isNextPageAvailable, isPreviousEntryAvailable, isPreviousPageAvailable, isSkipAggregates, isTrackingEnabled, lastPage, nextEntry, nextPage, notifyPageChanged, notifyRefresh, 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, sortInfoChangedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.nuxeo.ecm.platform.query.api.PageProvider
addQuickFilter, addSortInfo, firstPage, getAggregateDefinitions, getAggregates, getAvailableQuickFilters, getCurrentEntry, getCurrentPageIndex, getCurrentPageOffset, getCurrentPageSize, getCurrentPageStatus, getCurrentSelectPage, getDefinition, getError, getErrorMessage, getHighlights, getMaxPageSize, getName, getNumberOfPages, getPageSize, getPageSizeOptions, getParameters, getProperties, getQuickFilters, getResultsCount, getResultsCountLimit, getScroller, getSearchDocumentModel, getSortInfo, getSortInfoIndex, getSortInfos, hasAggregateSupport, hasChangedParameters, hasError, isLastPageAvailable, isNextEntryAvailable, isNextPageAvailable, isPreviousEntryAvailable, isPreviousPageAvailable, isSkipAggregates, lastPage, nextEntry, nextPage, previousEntry, previousPage, refresh, setCurrentEntry, setCurrentEntryIndex, setCurrentPage, setCurrentPageIndex, setCurrentPageOffset, setDefinition, setHighlights, setMaxPageSize, setName, setPageProviderChangedListener, setPageSize, setPageSizeOptions, setParameters, setProperties, setQuickFilters, setResultsCount, setSearchDocumentModel, setSelectedEntries, setSortable, setSortInfo, setSortInfo, setSortInfos
-
Field Details
-
userManager
-
currentPage
-
-
Constructor Details
-
AbstractGroupMemberPageProvider
public AbstractGroupMemberPageProvider()
-
-
Method Details
-
safeLongToInt
protected static int safeLongToInt(long l) -
getCurrentPage
Description copied from class:AbstractPageProviderReturns the list of current page items.Custom implementation can be added here, based on the page provider properties, parameters and
WhereClauseDefinitionon 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.errorMessageandAbstractPageProvider.errorcan 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 inCoreQueryAndFetchPageProvideris 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,CoreQueryDocumentPageProvideris a good example.- Specified by:
getCurrentPagein interfacePageProvider<T>- Specified by:
getCurrentPagein classAbstractPageProvider<T>- Returns:
- the current page
-
getMembers
-
getMember
-
getPageLimit
public long getPageLimit()Description copied from class:AbstractPageProviderReturns the page limit. The n first page we know they exist.- Specified by:
getPageLimitin interfacePageProvider<T>- Overrides:
getPageLimitin classAbstractPageProvider<T>
-
isSortable
public boolean isSortable()Description copied from interface:PageProviderReturns if this provider is sortable- Specified by:
isSortablein interfacePageProvider<T>- Overrides:
isSortablein classAbstractPageProvider<T>
-
pageChanged
protected void pageChanged()Description copied from class:AbstractPageProviderPage change hook, to override for custom behaviorWhen overriding it, call
super.pageChanged()as last statement to make sure that thePageProviderChangedListeneris called with the up-to-date @{code PageProvider} state.- Overrides:
pageChangedin classAbstractPageProvider<T>
-
getUserManager
-