java.lang.Object | |
↳ | org.springframework.beans.support.PagedListHolder<E> |
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
will be used, toggling the ascending value on setting the same property again.
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".
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | DEFAULT_MAX_LINKED_PAGES | ||||||||||
int | DEFAULT_PAGE_SIZE |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Create a new holder instance.
| |||||||||||
Create a new holder instance with the given source list, starting with
a default sort definition (with "toggleAscendingOnProperty" activated).
| |||||||||||
Create a new holder instance with the given source list.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Return the element index of the first element on the current page.
| |||||||||||
Return the first page to which create a link around the current page.
| |||||||||||
Return the element index of the last element on the current page.
| |||||||||||
Return the last page to which create a link around the current page.
| |||||||||||
Return the maximum number of page links to a few pages around the current one.
| |||||||||||
Return the total number of elements in the source list.
| |||||||||||
Return the current page number.
| |||||||||||
Return the number of pages for the current source list.
| |||||||||||
Return a sub-list representing the current page.
| |||||||||||
Return the current page size.
| |||||||||||
Return the last time the list has been fetched from the source provider.
| |||||||||||
Return the sort definition for this holder.
| |||||||||||
Return the source list for this holder.
| |||||||||||
Return if the current page is the first one.
| |||||||||||
Return if the current page is the last one.
| |||||||||||
Switch to next page.
| |||||||||||
Switch to previous page.
| |||||||||||
Resort the list if necessary, i.e.
| |||||||||||
Set the maximum number of page links to a few pages around the current one.
| |||||||||||
Set the current page number.
| |||||||||||
Set the current page size.
| |||||||||||
Set the sort definition for this holder.
| |||||||||||
Set the source list for this holder.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Create a deep copy of the given sort definition,
for use as state holder to compare a modified sort definition against.
| |||||||||||
Actually perform sorting of the given source list, according to
the given sort definition.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Create a new holder instance. You'll need to set a source list to be able to use the holder.
Create a new holder instance with the given source list, starting with a default sort definition (with "toggleAscendingOnProperty" activated).
source | the source List |
---|
Create a new holder instance with the given source list.
source | the source List |
---|---|
sort | the SortDefinition to start with |
Return the element index of the first element on the current page. Element numbering starts with 0.
Return the first page to which create a link around the current page.
Return the element index of the last element on the current page. Element numbering starts with 0.
Return the last page to which create a link around the current page.
Return the maximum number of page links to a few pages around the current one.
Return the total number of elements in the source list.
Return the current page number. Page numbering starts with 0.
Return the number of pages for the current source list.
Return the last time the list has been fetched from the source provider.
Switch to next page. Will stay on last page if already on last page.
Switch to previous page. Will stay on first page if already on first page.
Resort the list if necessary, i.e. if the current sort
instance
isn't equal to the backed-up sortUsed
instance.
Calls doSort
to trigger actual sorting.
Set the maximum number of page links to a few pages around the current one.
Set the current page number. Page numbering starts with 0.
Set the current page size. Resets the current page number if changed.
Default value is 10.
Set the sort definition for this holder. Typically an instance of MutableSortDefinition.
Create a deep copy of the given sort definition, for use as state holder to compare a modified sort definition against.
Default implementation creates a MutableSortDefinition instance.
Can be overridden in subclasses, in particular in case of custom
extensions to the SortDefinition interface. Is allowed to return
null, which means that no sort state will be held, triggering
actual sorting for each resort
call.
sort | the current SortDefinition object |
---|
Actually perform sorting of the given source list, according to the given sort definition.
The default implementation uses Spring's PropertyComparator. Can be overridden in subclasses.