E
- 要素型 public class PagedListHolder<E> extends ObjectSE implements SerializableSE
これは主に Web UI での使用を対象としています。通常、インスタンスは Bean のリストでインスタンス化され、セッションに入れられ、モデルとしてエクスポートされます。プロパティはすべてプログラムで設定 / 取得できますが、最も一般的な方法は、データバインディング、つまりリクエストパラメーターから Bean に入力することです。getter は主にビューで使用されます。
プロパティ "sort" として利用可能な SortDefinition
実装を介して、基になるリストの並べ替えをサポートします。デフォルトでは、MutableSortDefinition
インスタンスが使用され、同じプロパティを再度設定すると昇順の値が切り替わります。
BeanWrapper で期待されるように、データバインディング名は "pageSize" および "sort.ascending" と呼ばれる必要があります。名前とネスト構文は、"myModelAttr.pageSize" や "myModelAttr.sort.ascending" などのそれぞれの JSTLEL 式と一致することに注意してください。
getPageList()
, MutableSortDefinition
, 直列化された形式 修飾子と型 | フィールドと説明 |
---|---|
static int | DEFAULT_MAX_LINKED_PAGES ページリンクのデフォルトの最大数。 |
static int | DEFAULT_PAGE_SIZE デフォルトのページサイズ。 |
コンストラクターと説明 |
---|
PagedListHolder() 新しいホルダーインスタンスを作成します。 |
PagedListHolder(ListSE<E> source) デフォルトのソート定義( "toggleAscendingOnProperty" がアクティブ化されている)から開始して、指定されたソースリストで新しいホルダーインスタンスを作成します。 |
PagedListHolder(ListSE<E> source, SortDefinition sort) 指定されたソースリストで新しいホルダーインスタンスを作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected SortDefinition | copySortDefinition(SortDefinition sort) 変更されたソート定義と比較するための状態ホルダーとして使用するために、指定されたソート定義のディープコピーを作成します。 |
protected void | doSort(ListSE<E> source, SortDefinition sort) 指定されたソート定義に従って、実際に指定されたソースリストのソートを実行します。 |
int | getFirstElementOnPage() 現在のページの最初の要素の要素インデックスを返します。 |
int | getFirstLinkedPage() 現在のページの周囲にリンクを作成する最初のページを返します。 |
int | getLastElementOnPage() 現在のページの最後の要素の要素インデックスを返します。 |
int | getLastLinkedPage() 現在のページの周囲にリンクを作成する最後のページを返します。 |
int | getMaxLinkedPages() 現在のページの周辺の数ページへのページリンクの最大数を返します。 |
int | getNrOfElements() ソースリストの要素の総数を返します。 |
int | getPage() 現在のページ番号を返します。 |
int | getPageCount() 現在のソースリストのページ数を返します。 |
ListSE<E> | getPageList() 現在のページを表すサブリストを返します。 |
int | getPageSize() 現在のページサイズを返します。 |
DateSE | getRefreshDate() ソースプロバイダーからリストが最後にフェッチされた時間を返します。 |
SortDefinition | getSort() このホルダーのソート定義を返します。 |
ListSE<E> | getSource() このホルダーのソースリストを返します。 |
boolean | isFirstPage() 現在のページが最初のページである場合に戻ります。 |
boolean | isLastPage() 現在のページが最後のページである場合に返します。 |
void | nextPage() 次のページに切り替えます。 |
void | previousPage() 前のページに切り替えます。 |
void | resort() 必要に応じてリストを並べ替えます。 |
void | setMaxLinkedPages(int maxLinkedPages) ページリンクの最大数を現在のページの数ページに設定します。 |
void | setPage(int page) 現在のページ番号を設定します。 |
void | setPageSize(int pageSize) 現在のページサイズを設定します。 |
void | setSort(SortDefinition sort) このホルダーのソート定義を設定します。 |
void | setSource(ListSE<E> source) このホルダーのソースリストを設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public static final int DEFAULT_PAGE_SIZE
public static final int DEFAULT_MAX_LINKED_PAGES
public PagedListHolder()
public PagedListHolder(ListSE<E> source)
source
- ソースリスト MutableSortDefinition.setToggleAscendingOnProperty(boolean)
public PagedListHolder(ListSE<E> source, SortDefinition sort)
source
- ソースリスト sort
- まずは SortDefinitionpublic void setSort(@Nullable SortDefinition sort)
@Nullable public SortDefinition getSort()
public void setPageSize(int pageSize)
デフォルト値は 10 です。
public int getPageSize()
public void setPage(int page)
public int getPage()
public void setMaxLinkedPages(int maxLinkedPages)
public int getMaxLinkedPages()
public int getPageCount()
public boolean isFirstPage()
public boolean isLastPage()
public void previousPage()
public void nextPage()
public int getNrOfElements()
public int getFirstElementOnPage()
public int getLastElementOnPage()
public int getFirstLinkedPage()
public int getLastLinkedPage()
public void resort()
sort
インスタンスがバックアップされた sortUsed
インスタンスと等しくない場合は、リストを並べ替えます。doSort
を呼び出して、実際のソートをトリガーします。
protected SortDefinition copySortDefinition(SortDefinition sort)
デフォルトの実装では、MutableSortDefinition インスタンスを作成します。特に SortDefinition インターフェースのカスタム拡張の場合、サブクラスでオーバーライドできます。null を返すことができます。つまり、ソート状態は保持されず、各 resort
呼び出しの実際のソートがトリガーされます。
sort
- 現在の SortDefinition オブジェクト MutableSortDefinition(SortDefinition)
protected void doSort(ListSE<E> source, SortDefinition sort)
デフォルトの実装では、Spring の PropertyComparator を使用します。サブクラスでオーバーライドできます。