| |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
PagedListHolder is a simple state holder for handling lists of objects, separating them into pages. Page numbering starts with 0.
This is mainly targetted at usage in web UIs. Typically, an instance will be instantiated with a list of beans, put into the session, and exported as model. The properties can all be set/get programmatically, but the most common way will be data binding, i.e. populating the bean from request parameters. The getters will mainly be used by the view.
Supports sorting the underlying list via a SortDefinition implementation, available as property "sort". By default, a MutableSortDefinition instance that toggles the ascending value on setting the same property again is used.
The data binding names have to be called "pageSize" and "sort.ascending", as expected by BeanWrapper. Note that the names and the nesting syntax match the respective JSTL EL expressions, like "myModelAttr.pageSize" and "myModelAttr.sort.ascending".
This class just provides support for an unmodifiable List of beans. If you need on-demand refresh because of Locale or filter changes, consider RefreshablePagedListHolder.
Field Summary | |
final static int | DEFAULT_MAX_LINKED_PAGES |
final static int | DEFAULT_PAGE_SIZE |
Constructor Summary | |
PagedListHolder() Create a new holder instance. | |
PagedListHolder(List source) Create a new holder instance with the given source list. |
Method Summary | |
int | getFirstElementOnPage() Return the element index of the first element on the current page. |
int | getFirstLinkedPage() Return the first page to which create a link around the current page. |
int | getLastElementOnPage() Return the element index of the last element on the current page. |
int | getLastLinkedPage() Return the first page to which create a link around the current page. |
int | getMaxLinkedPages() Return the maximum number of page links to a few pages around the current one. |
int | getNrOfElements() Return the total number of elements in the source list. |
int | getNrOfPages() Return the number of pages for the current source list. |
int | getPage() Return the current page number. |
List | getPageList() Return a sub-list representing the current page. |
int | getPageSize() Return the current page size. |
Date | getRefreshDate() Return the last time the list has been fetched from the source provider. |
SortDefinition | getSort() Return the sort definition for this holder. |
List | getSource() Return the source list for this holder. |
boolean | isFirstPage() Return if the current page is the first one. |
boolean | isLastPage() Return if the current page is the last one. |
void | nextPage() Switch to next page. |
void | previousPage() Switch to previous page. |
void | resort() Resort the list if necessary, i.e. |
void | setMaxLinkedPages(int maxLinkedPages) Set the maximum number of page links to a few pages around the current one. |
void | setPage(int page) Set the current page number. |
void | setPageSize(int pageSize) Set the current page size. |
void | setSort(SortDefinition sort) Set the sort definition for this holder. |
void | setSource(List source) Set the source list for this holder. |
Field Detail |
public final static int DEFAULT_MAX_LINKED_PAGES
public final static int DEFAULT_PAGE_SIZE
Constructor Detail |
public PagedListHolder()
public PagedListHolder(List source)
Method Detail |
public int getFirstElementOnPage()
public int getFirstLinkedPage()
public int getLastElementOnPage()
public int getLastLinkedPage()
public int getMaxLinkedPages()
public int getNrOfElements()
public int getNrOfPages()
public int getPage()
public List getPageList()
public int getPageSize()
public Date getRefreshDate()
public SortDefinition getSort()
public List getSource()
public boolean isFirstPage()
public boolean isLastPage()
public void nextPage()
public void previousPage()
public void resort()
public void setMaxLinkedPages(int maxLinkedPages)
public void setPage(int page)
public void setPageSize(int pageSize)
Default value is 10.
public void setSort(SortDefinition sort)
public void setSource(List source)
Association Links |
to Class org.springframework.beans.support.SortDefinition
to Class org.springframework.beans.support.SortDefinition
| |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |