public class UserTaskPageProvider extends AbstractPageProvider<DashBoardItem> implements 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.
Modifier and Type | Field and Description |
---|---|
static String |
CORE_SESSION_PROPERTY |
static String |
FILTER_DOCS_FROM_TRASH |
DEFAULT_MAX_PAGE_SIZE, DEFAULT_MAX_PAGE_SIZE_RUNTIME_PROP, PAGE_LIMIT_UNKNOWN, UNKNOWN_SIZE, UNKNOWN_SIZE_AFTER_QUERY
Constructor and Description |
---|
UserTaskPageProvider() |
Modifier and Type | Method and Description |
---|---|
List<DashBoardItem> |
getCurrentPage()
Returns the list of current page items.
|
boolean |
isSortable()
This page provider does not support sort for now => override what may be
contributed in the definition
|
void |
refresh()
Refresh hook, to override for custom behavior
|
addSortInfo, firstPage, getAggregateDefinitions, getAggregates, getCurrentEntry, getCurrentHigherNonEmptyPageIndex, getCurrentPageIndex, getCurrentPageOffset, getCurrentPageSize, getCurrentPageStatus, getCurrentSelectPage, getDefinition, getError, getErrorMessage, getMaxNumberOfEmptyPages, getMaxPageSize, getMinMaxPageSize, getName, getNumberOfPages, getPageLimit, getPageSize, getParameters, getProperties, getResultsCount, getSearchDocumentModel, getSortInfo, getSortInfoIndex, getSortInfos, hasAggregateSupport, hasChangedParameters, hasError, isLastPageAvailable, isNextEntryAvailable, isNextPageAvailable, isPreviousEntryAvailable, isPreviousPageAvailable, last, lastPage, next, nextEntry, nextPage, previous, previousEntry, previousPage, rewind, setCurrentEntry, setCurrentEntryIndex, setCurrentHigherNonEmptyPageIndex, setCurrentPage, setCurrentPageIndex, setCurrentPageOffset, setDefinition, setMaxPageSize, setName, setPageProviderChangedListener, setPageSize, setParameters, setProperties, setResultsCount, setSearchDocumentModel, setSelectedEntries, setSortable, setSortInfo, setSortInfo, setSortInfos
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addSortInfo, firstPage, getAggregateDefinitions, getAggregates, getCurrentEntry, getCurrentPageIndex, getCurrentPageOffset, getCurrentPageSize, getCurrentPageStatus, getCurrentSelectPage, getDefinition, getError, getErrorMessage, getMaxPageSize, getName, getNumberOfPages, getPageLimit, getPageSize, getParameters, getProperties, getResultsCount, getSearchDocumentModel, getSortInfo, getSortInfoIndex, getSortInfos, hasAggregateSupport, hasChangedParameters, hasError, isLastPageAvailable, isNextEntryAvailable, isNextPageAvailable, isPreviousEntryAvailable, isPreviousPageAvailable, lastPage, nextEntry, nextPage, previousEntry, previousPage, setCurrentEntry, setCurrentEntryIndex, setCurrentPage, setCurrentPageIndex, setCurrentPageOffset, setDefinition, setMaxPageSize, setName, setPageProviderChangedListener, setPageSize, setParameters, setProperties, setResultsCount, setSearchDocumentModel, setSelectedEntries, setSortable, setSortInfo, setSortInfo, setSortInfos
public static final String CORE_SESSION_PROPERTY
public static final String FILTER_DOCS_FROM_TRASH
public List<DashBoardItem> getCurrentPage()
AbstractPageProvider
Custom implementation can be added here, based on the page provider
properties, parameters and WhereClauseDefinition
on the
PageProviderDefinition
, 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()
and AbstractPageProvider.refresh()
.
Fields AbstractPageProvider.errorMessage
and AbstractPageProvider.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 in
CoreQueryAndFetchPageProvider
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()
and
AbstractPageProvider.setCurrentHigherNonEmptyPageIndex(int)
. In this case,
CoreQueryDocumentPageProvider
is a good example.
getCurrentPage
in interface PageProvider<DashBoardItem>
getCurrentPage
in class AbstractPageProvider<DashBoardItem>
public boolean isSortable()
isSortable
in interface PageProvider<DashBoardItem>
isSortable
in class AbstractPageProvider<DashBoardItem>
public void refresh()
AbstractPageProvider
When overriding it, call super.refresh()
as last statement to
make sure that the PageProviderChangedListener
is called with
the up-to-date @{code PageProvider} state.
refresh
in interface PageProvider<DashBoardItem>
refresh
in class AbstractPageProvider<DashBoardItem>
Copyright © 2014 Nuxeo SA. All rights reserved.