Nuxeo Enterprise Platform 5.4

org.nuxeo.ecm.core.api.impl
Class DocumentsPageProvider

java.lang.Object
  extended by org.nuxeo.ecm.core.api.impl.DocumentsPageProvider
All Implemented Interfaces:
java.io.Serializable, PagedDocumentsProvider

public class DocumentsPageProvider
extends java.lang.Object
implements PagedDocumentsProvider

Keeps track of current page and previous pages loaded from document iterator.

Author:
Dragos Mihalache
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface org.nuxeo.ecm.core.api.PagedDocumentsProvider
UNKNOWN_SIZE
 
Constructor Summary
DocumentsPageProvider(DocumentModelIterator docsIterator, int pageSize)
          Constructor taking as argument an iterator.
 
Method Summary
 DocumentModelList getCurrentPage()
          Returns the current page of results.
 int getCurrentPageIndex()
          Get current page index as a 0 (zero) based int.
 int getCurrentPageOffset()
           
 int getCurrentPageSize()
           
 java.lang.String getCurrentPageStatus()
           
 java.lang.String getName()
           
 DocumentModelList getNextPage()
          Get the next page of documents.
 int getNumberOfPages()
          Return the total number of pages
 DocumentModelList getPage(int page)
          Sets the current page of results to the required one and return it.
 int getPageSize()
           
 long getResultsCount()
           
 SortInfo getSortInfo()
           
 boolean isNextPageAvailable()
           
 boolean isPreviousPageAvailable()
           
 boolean isSortable()
           
 void last()
          Go to the last page
 void next()
          Go to the next page
 void previous()
          Go to the previous page
 void refresh()
          Nothing can't be done to refresh this provider's pages the whole provider should be instead replaced
 void rewind()
          Go to the first page
 void setCurrentPage(int page)
           
 void setName(java.lang.String name)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DocumentsPageProvider

public DocumentsPageProvider(DocumentModelIterator docsIterator,
                             int pageSize)
Constructor taking as argument an iterator. The iterator is considered unaltered.

Method Detail

setCurrentPage

public void setCurrentPage(int page)

getCurrentPageIndex

public int getCurrentPageIndex()
Description copied from interface: PagedDocumentsProvider
Get current page index as a 0 (zero) based int.

Specified by:
getCurrentPageIndex in interface PagedDocumentsProvider
Returns:
current page index

getCurrentPage

public DocumentModelList getCurrentPage()
Description copied from interface: PagedDocumentsProvider
Returns the current page of results.

This method is designed to be called from JSF. It therefore ensures cheapness of repeated calls, rather than data consistency. There is a refresh() method for that.

Specified by:
getCurrentPage in interface PagedDocumentsProvider
Returns:
the current page

getPage

public DocumentModelList getPage(int page)
Description copied from interface: PagedDocumentsProvider
Sets the current page of results to the required one and return it.

Specified by:
getPage in interface PagedDocumentsProvider
Parameters:
page - the page index, starting from 0

isNextPageAvailable

public boolean isNextPageAvailable()
Specified by:
isNextPageAvailable in interface PagedDocumentsProvider
Returns:
a boolean expressing if there are further pages.

getResultsCount

public long getResultsCount()
Specified by:
getResultsCount in interface PagedDocumentsProvider
Returns:
number of result elements if available or UNKNOWN_SIZE if it is unknown

isPreviousPageAvailable

public boolean isPreviousPageAvailable()
Specified by:
isPreviousPageAvailable in interface PagedDocumentsProvider
Returns:
a boolean expressing if there is a previous page.

last

public void last()
Description copied from interface: PagedDocumentsProvider
Go to the last page

Specified by:
last in interface PagedDocumentsProvider

getNextPage

public DocumentModelList getNextPage()
Description copied from interface: PagedDocumentsProvider
Get the next page of documents.

Has the side effect of setting the current page, too, hence provider.getNextPage() is equivalent to provider.next(); page = provider.getCurrentPage() in terms of returned value and state of the provider, although implementation details might imply a performance difference.

Specified by:
getNextPage in interface PagedDocumentsProvider
Returns:
the next page of documents

next

public void next()
Description copied from interface: PagedDocumentsProvider
Go to the next page

Specified by:
next in interface PagedDocumentsProvider

previous

public void previous()
Description copied from interface: PagedDocumentsProvider
Go to the previous page

Specified by:
previous in interface PagedDocumentsProvider

rewind

public void rewind()
Description copied from interface: PagedDocumentsProvider
Go to the first page

Specified by:
rewind in interface PagedDocumentsProvider

getNumberOfPages

public int getNumberOfPages()
Description copied from interface: PagedDocumentsProvider
Return the total number of pages

Specified by:
getNumberOfPages in interface PagedDocumentsProvider
Returns:
an integer

refresh

public void refresh()
Nothing can't be done to refresh this provider's pages the whole provider should be instead replaced

Specified by:
refresh in interface PagedDocumentsProvider

getCurrentPageStatus

public java.lang.String getCurrentPageStatus()
Specified by:
getCurrentPageStatus in interface PagedDocumentsProvider
Returns:
a simple formatted string for current pagination statuts.

getCurrentPageOffset

public int getCurrentPageOffset()
Specified by:
getCurrentPageOffset in interface PagedDocumentsProvider
Returns:
the offset (starting from 0) of the first element in the current page or UNKNOWN_SIZE

getCurrentPageSize

public int getCurrentPageSize()
Specified by:
getCurrentPageSize in interface PagedDocumentsProvider
Returns:
the number of elements in current page.

getPageSize

public int getPageSize()
Specified by:
getPageSize in interface PagedDocumentsProvider
Returns:
the number of requested page size.

getName

public java.lang.String getName()
Specified by:
getName in interface PagedDocumentsProvider
Returns:
the provider identifier

getSortInfo

public SortInfo getSortInfo()
Specified by:
getSortInfo in interface PagedDocumentsProvider
Returns:
the sorting info for this provider

isSortable

public boolean isSortable()
Specified by:
isSortable in interface PagedDocumentsProvider
Returns:
if this provider is sortable

setName

public void setName(java.lang.String name)
Specified by:
setName in interface PagedDocumentsProvider
Parameters:
name - the provider identifier

Nuxeo Enterprise Platform 5.4

Copyright © 2010 Nuxeo SAS. All Rights Reserved.