Class UserTaskPageProvider
- All Implemented Interfaces:
Serializable
,PageProvider<DashBoardItem>
DashBoardItem
elements.
Useful for content views displaying users' tasks.
WARNING: this page provider does not handle sorting, and its pagination management is not efficient (done in post filter).
This page provider requires the property CORE_SESSION_PROPERTY
to be filled with a core session. It also
accepts an optional property FILTER_DOCS_FROM_TRASH
, defaulting to true.
- Since:
- 5.5
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
protected List<DashBoardItem>
protected List<DashBoardItem>
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
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected CoreSession
Returns the list of current page items.protected boolean
protected Locale
boolean
This page provider does not support sort for now => override what may be contributed in the definitionprotected void
Page change hook, to override for custom behaviorvoid
refresh()
Refresh hook, to override for custom behaviorMethods 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, getPageLimit, 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, 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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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, getPageLimit, getPageSize, getPageSizeOptions, getParameters, getProperties, getQuickFilters, getResultsCount, getResultsCountLimit, getSearchDocumentModel, getSortInfo, getSortInfoIndex, getSortInfos, hasAggregateSupport, hasChangedParameters, hasError, isLastPageAvailable, isNextEntryAvailable, isNextPageAvailable, isPreviousEntryAvailable, isPreviousPageAvailable, isSkipAggregates, lastPage, nextEntry, nextPage, previousEntry, previousPage, setCurrentEntry, setCurrentEntryIndex, setCurrentPage, setCurrentPageIndex, setCurrentPageOffset, setDefinition, setHighlights, setMaxPageSize, setName, setPageProviderChangedListener, setPageSize, setPageSizeOptions, setParameters, setProperties, setQuickFilters, setResultsCount, setSearchDocumentModel, setSelectedEntries, setSortable, setSortInfo, setSortInfo, setSortInfos
-
Field Details
-
CORE_SESSION_PROPERTY
- See Also:
-
FILTER_DOCS_FROM_TRASH
- See Also:
-
userTasks
-
pageTasks
-
-
Constructor Details
-
UserTaskPageProvider
public UserTaskPageProvider()
-
-
Method Details
-
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<DashBoardItem>
- Specified by:
getCurrentPage
in classAbstractPageProvider<DashBoardItem>
- Returns:
- the current page
-
getLocale
-
getAllTasks
protected void getAllTasks() -
getFilterDocumentsInTrash
protected boolean getFilterDocumentsInTrash() -
getCoreSession
-
isSortable
public boolean isSortable()This page provider does not support sort for now => override what may be contributed in the definition- Specified by:
isSortable
in interfacePageProvider<DashBoardItem>
- Overrides:
isSortable
in classAbstractPageProvider<DashBoardItem>
-
pageChanged
protected void pageChanged()Description copied from class:AbstractPageProvider
Page change hook, to override for custom behaviorWhen overriding it, call
super.pageChanged()
as last statement to make sure that thePageProviderChangedListener
is called with the up-to-date @{code PageProvider} state.- Overrides:
pageChanged
in classAbstractPageProvider<DashBoardItem>
-
refresh
public void refresh()Description copied from class:AbstractPageProvider
Refresh hook, to override for custom behaviorWhen overriding it, call
super.refresh()
as last statement to make sure that thePageProviderChangedListener
is called with the up-to-date @{code PageProvider} state.- Specified by:
refresh
in interfacePageProvider<DashBoardItem>
- Overrides:
refresh
in classAbstractPageProvider<DashBoardItem>
-