类 PagedListHolder<E>
- java.lang.Object
- org.springframework.beans.support.PagedListHolder<E>
- 类型参数:
E
- the element type
- 所有已实现的接口:
Serializable
public class PagedListHolder<E> extends Object implements Serializable
PagedListHolder is a simple state holder for handling lists of objects, separating them into pages. Page numbering starts with 0.This is mainly targeted 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, aMutableSortDefinition
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".
- 从以下版本开始:
- 19.05.2003
- 作者:
- Juergen Hoeller
- 另请参阅:
getPageList()
,MutableSortDefinition
, 序列化表格
字段概要
字段 修饰符和类型 字段 说明 static int
DEFAULT_MAX_LINKED_PAGES
The default maximum number of page links.static int
DEFAULT_PAGE_SIZE
The default page size.
构造器概要
构造器 构造器 说明 PagedListHolder()
Create a new holder instance.PagedListHolder(List<E> source)
Create a new holder instance with the given source list, starting with a default sort definition (with "toggleAscendingOnProperty" activated).PagedListHolder(List<E> source, SortDefinition sort)
Create a new holder instance with the given source list.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected SortDefinition
copySortDefinition(SortDefinition sort)
Create a deep copy of the given sort definition, for use as state holder to compare a modified sort definition against.protected void
doSort(List<E> source, SortDefinition sort)
Actually perform sorting of the given source list, according to the given sort definition.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 last 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
getPage()
Return the current page number.int
getPageCount()
Return the number of pages for the current source list.List<E>
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<E>
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. if the currentsort
instance isn't equal to the backed-upsortUsed
instance.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<E> source)
Set the source list for this holder.
字段详细资料
DEFAULT_PAGE_SIZE
public static final int DEFAULT_PAGE_SIZE
The default page size.- 另请参阅:
- 常量字段值
DEFAULT_MAX_LINKED_PAGES
public static final int DEFAULT_MAX_LINKED_PAGES
The default maximum number of page links.- 另请参阅:
- 常量字段值
构造器详细资料
PagedListHolder
public PagedListHolder()
Create a new holder instance. You'll need to set a source list to be able to use the holder.
PagedListHolder
public PagedListHolder(List<E> source)
Create a new holder instance with the given source list, starting with a default sort definition (with "toggleAscendingOnProperty" activated).- 参数:
source
- the source List- 另请参阅:
MutableSortDefinition.setToggleAscendingOnProperty(boolean)
PagedListHolder
public PagedListHolder(List<E> source, SortDefinition sort)
Create a new holder instance with the given source list.- 参数:
source
- the source Listsort
- the SortDefinition to start with
方法详细资料
getRefreshDate
@Nullable public Date getRefreshDate()
Return the last time the list has been fetched from the source provider.
setSort
public void setSort(@Nullable SortDefinition sort)
Set the sort definition for this holder. Typically an instance of MutableSortDefinition.
getSort
@Nullable public SortDefinition getSort()
Return the sort definition for this holder.
setPageSize
public void setPageSize(int pageSize)
Set the current page size. Resets the current page number if changed.Default value is 10.
getPageSize
public int getPageSize()
Return the current page size.
setPage
public void setPage(int page)
Set the current page number. Page numbering starts with 0.
getPage
public int getPage()
Return the current page number. Page numbering starts with 0.
setMaxLinkedPages
public void setMaxLinkedPages(int maxLinkedPages)
Set the maximum number of page links to a few pages around the current one.
getMaxLinkedPages
public int getMaxLinkedPages()
Return the maximum number of page links to a few pages around the current one.
getPageCount
public int getPageCount()
Return the number of pages for the current source list.
isFirstPage
public boolean isFirstPage()
Return if the current page is the first one.
isLastPage
public boolean isLastPage()
Return if the current page is the last one.
previousPage
public void previousPage()
Switch to previous page. Will stay on first page if already on first page.
nextPage
public void nextPage()
Switch to next page. Will stay on last page if already on last page.
getNrOfElements
public int getNrOfElements()
Return the total number of elements in the source list.
getFirstElementOnPage
public int getFirstElementOnPage()
Return the element index of the first element on the current page. Element numbering starts with 0.
getLastElementOnPage
public int getLastElementOnPage()
Return the element index of the last element on the current page. Element numbering starts with 0.
getPageList
public List<E> getPageList()
Return a sub-list representing the current page.
getFirstLinkedPage
public int getFirstLinkedPage()
Return the first page to which create a link around the current page.
getLastLinkedPage
public int getLastLinkedPage()
Return the last page to which create a link around the current page.
resort
public void resort()
Resort the list if necessary, i.e. if the currentsort
instance isn't equal to the backed-upsortUsed
instance.Calls
doSort
to trigger actual sorting.
copySortDefinition
protected SortDefinition copySortDefinition(SortDefinition sort)
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- 返回:
- a deep copy of the SortDefinition object
- 另请参阅:
MutableSortDefinition(SortDefinition)
doSort
protected void doSort(List<E> source, SortDefinition sort)
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.