Nuxeo ECM Projects 5.4.3-SNAPSHOT

org.nuxeo.ecm.platform.query.api
Interface PageProvider<T>

Type Parameters:
T - any Serializable item
All Superinterfaces:
Serializable
All Known Implementing Classes:
AbstractGroupsPageProvider, AbstractPageProvider, AuditPageProvider, CoreQueryAndFetchPageProvider, CoreQueryDocumentPageProvider, EmptyPageProvider, GroupsPageProvider, UserProcessPageProvider, UsersPageProvider, UserTaskPageProvider

public interface PageProvider<T>
extends Serializable

Basic interface for a page provider, independent of type of items in the list

Provides APIs to navigate between result pages

Since:
5.4
Author:
arussel, Anahide Tchertchian

Field Summary
static long DEFAULT_MAX_PAGE_SIZE
          Default maximum page size value.
static long UNKNOWN_SIZE
          Constant to express that the total number of result elements is unknown (usually because the query has not been done yet).
static long UNKNOWN_SIZE_AFTER_QUERY
          Constant to express that the total number of result elements is unknown even after performing a query.
 
Method Summary
 void addSortInfo(String sortColumn, boolean sortAscending)
          Add the given sort info to the list of sorting infos.
 void firstPage()
          Go to the first page
 T getCurrentEntry()
          Returns the current entry.
 List<T> getCurrentPage()
          Returns the current page of results.
 long getCurrentPageIndex()
          Returns the current page index as a zero-based integer.
 long getCurrentPageOffset()
          Returns the offset (starting from 0) of the first element in the current page or UNKNOWN_SIZE.
 long getCurrentPageSize()
          Returns the number of elements in current page.
 String getCurrentPageStatus()
          Returns a simple formatted string for current pagination status.
 PageSelections<T> getCurrentSelectPage()
          Returns the current page of results wrapped in a PageSelection item.
 PageProviderDefinition getDefinition()
           
 Throwable getError()
           
 String getErrorMessage()
           
 long getMaxPageSize()
          Returns the max number of results per page.
 String getName()
          Returns the provider identifier
 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.
 Object[] getParameters()
           
 Map<String,Serializable> getProperties()
          Gets properties set on the provider.
 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.4.3, UNKNOWN_SIZE_AFTER_QUERY if it is still unknown after query was done.
 DocumentModel getSearchDocumentModel()
           
 SortInfo getSortInfo()
          Returns the first sorting info for this provider
 int getSortInfoIndex(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.
 List<SortInfo> getSortInfos()
          Returns the complete list of sorting info for this provider
 boolean hasError()
           
 boolean isLastPageAvailable()
          Returns a boolean expressing if the last page can be displayed.
 boolean isNextEntryAvailable()
          Returns true if there is a next entry.
 boolean isNextPageAvailable()
          Returns a boolean expressing if there are further pages.
 boolean isPreviousEntryAvailable()
          Returns true if there is a previous entry.
 boolean isPreviousPageAvailable()
          Returns a boolean expressing if there is a previous page.
 boolean isSortable()
          Returns if this provider is sortable
 void lastPage()
          Go to the last page.
 void nextEntry()
          Move the current entry to the next one, if applicable.
 void nextPage()
          Go to the next page
 void previousEntry()
          Move the current entry to the previous one, if applicable.
 void previousPage()
          Go to the previous page
 void refresh()
          Forces refresh of the current page.
 void setCurrentEntry(T entry)
          Sets the current entry.
 void setCurrentEntryIndex(long index)
          Sets the current entry index.
 List<T> setCurrentPage(long page)
          Sets the current page of results to the required one and return it.
 void setCurrentPageOffset(long offset)
          Sets the current page offset.
 void setDefinition(PageProviderDefinition providerDefinition)
           
 void setMaxPageSize(long pageSize)
          Sets the max number of results per page.
 void setName(String name)
          Sets the provider identifier
 void setPageSize(long pageSize)
          Sets the number results per page.
 void setParameters(Object[] parameters)
           
 void setProperties(Map<String,Serializable> properties)
          Sets properties set on the provider.
 void setResultsCount(long resultsCount)
          Sets the results count.
 void setSearchDocumentModel(DocumentModel doc)
           
 void setSelectedEntries(List<T> entries)
          Sets the list of selected entries to take into account in getCurrentSelectPage().
 void setSortable(boolean sortable)
           
 void setSortInfo(SortInfo sortInfo)
          Sets the first and only sorting info for this provider.
 void setSortInfo(String sortColumn, boolean sortAscending, boolean removeOtherSortInfos)
          Sets the first and only sorting info for this provider if parameter removeOtherSortInfos is true.
 void setSortInfos(List<SortInfo> sortInfo)
          Sets the complete list of sorting info for this provider
 

Field Detail

UNKNOWN_SIZE

static final long UNKNOWN_SIZE
Constant to express that the total number of result elements is unknown (usually because the query has not been done yet).

See Also:
Constant Field Values

UNKNOWN_SIZE_AFTER_QUERY

static final long UNKNOWN_SIZE_AFTER_QUERY
Constant to express that the total number of result elements is unknown even after performing a query.

Since:
5.4.3
See Also:
Constant Field Values

DEFAULT_MAX_PAGE_SIZE

static final long DEFAULT_MAX_PAGE_SIZE
Default maximum page size value.

See Also:
Constant Field Values
Method Detail

getName

String getName()
Returns the provider identifier


setName

void setName(String name)
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

void setProperties(Map<String,Serializable> properties)
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

void setParameters(Object[] parameters)

getPageSize

long getPageSize()
Returns the number of results per page. 0 means no pagination.


setPageSize

void setPageSize(long pageSize)
Sets the number results per page. 0 means no pagination.


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

getResultsCount

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.4.3, UNKNOWN_SIZE_AFTER_QUERY if it is still unknown after query was done.


setResultsCount

void setResultsCount(long resultsCount)
Sets the results count.

Since:
5.4.3

getNumberOfPages

long getNumberOfPages()
Returns the total number of pages or 0 if number of pages is unknown.


getCurrentPage

List<T> 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 a PageSelection item.

By default, no entry is selected, unless setSelectedEntries(List) has been called before.


setSelectedEntries

void setSelectedEntries(List<T> entries)
Sets the list of selected entries to take into account in getCurrentSelectPage().


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.4.3

setCurrentPage

List<T> setCurrentPage(long page)
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.4.3

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 or UNKNOWN_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

void setCurrentEntry(T entry)
                     throws ClientException
Sets the current entry.

Throws:
ClientException - if entry is not found within current page.

setCurrentEntryIndex

void setCurrentEntryIndex(long index)
                          throws ClientException
Sets the current entry index.

Throws:
ClientException - if index is not found within current page.

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

List<SortInfo> getSortInfos()
Returns the complete list of sorting info for this provider


getSortInfo

SortInfo getSortInfo()
Returns the first sorting info for this provider

Also kept for compatibility with existing code.


setSortInfos

void setSortInfos(List<SortInfo> sortInfo)
Sets the complete list of sorting info for this provider


setSortInfo

void setSortInfo(SortInfo sortInfo)
Sets the first and only sorting info for this provider.

Also kept for compatibility with existing code.


setSortInfo

void setSortInfo(String sortColumn,
                 boolean sortAscending,
                 boolean removeOtherSortInfos)
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

void addSortInfo(String sortColumn,
                 boolean sortAscending)
Add the given sort info to the list of sorting infos.


getSortInfoIndex

int getSortInfoIndex(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.


getSearchDocumentModel

DocumentModel getSearchDocumentModel()

setSearchDocumentModel

void setSearchDocumentModel(DocumentModel doc)

hasError

boolean hasError()

getErrorMessage

String getErrorMessage()

getError

Throwable getError()

setDefinition

void setDefinition(PageProviderDefinition providerDefinition)

getDefinition

PageProviderDefinition getDefinition()

Nuxeo ECM Projects 5.4.3-SNAPSHOT

Copyright © 2011 Nuxeo SAS. All Rights Reserved.