public class IterableDataModel<E> extends DataModel<E>
IterableDataModel は、Iterable
をラップする DataModel
の実装です。
これは、List
SE や Set
SE などの Collection
SE 派生型を含む、ほぼすべてのコレクション型をカプセル化するために使用できます。そのため、ListDataModel
や CollectionDataModel
などのより具体的な DataModels の代わりに、この特定の DataModel を使用できます。
コンストラクターと説明 |
---|
IterableDataModel() ラップされたデータを指定せずに新しい IterableDataModel を構築します。 |
IterableDataModel(IterableSE<E> iterable) 指定されたイテラブルをラップする新しい IterableDataModel を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
int | getRowCount() この DataModel で表されるデータオブジェクトの行数を返します。 |
E | getRowData() 現在選択されている行インデックスのデータを表すオブジェクトを返します。 |
int | getRowIndex() 現在選択されている行のゼロ相対インデックスを返します。 |
ObjectSE | getWrappedData() この DataModel によってラップされたデータを表すオブジェクトがあれば、それを返します。 |
boolean | isRowAvailable() 現在の rowIndex で使用可能な rowData があるかどうかを示すフラグを返します。 |
void | setRowIndex(int rowIndex) 現在選択されている行のゼロ相対インデックスを設定するか、行に配置されていないことを示すには -1 を設定します。 |
void | setWrappedData(ObjectSE data) この DataModel によってラップされたデータコレクションを表すオブジェクトを設定します。 |
addDataModelListener, getDataModelListeners, iterator, removeDataModelListener
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
forEachSE, spliteratorSE
public IterableDataModel()
ラップされたデータを指定せずに新しい IterableDataModel
を構築します。
public IterableDataModel(IterableSE<E> iterable)
指定されたイテラブルをラップする新しい IterableDataModel
を作成します。
iterable
- ラップすることを繰り返すことができます。public boolean isRowAvailable()
現在の rowIndex
で使用可能な rowData
があるかどうかを示すフラグを返します。wrappedData
が利用できない場合は、false
を返します。
DataModel<E>
の isRowAvailable
FacesException
- 行の可用性を取得するときにエラーが発生した場合 public int getRowCount()
この DataModel
で表されるデータオブジェクトの行数を返します。行数が不明な場合、または使用可能な wrappedData
がない場合は、-1 を返します。
DataModel<E>
の getRowCount
DataModel
によって表されるデータの行数 FacesException
- 行数の取得中にエラーが発生した場合 public E getRowData()
現在選択されている行インデックスのデータを表すオブジェクトを返します。利用可能な wrappedData
がない場合は、null
を返します。
DataModel<E>
の getRowData
FacesException
- 行データの取得中にエラーが発生した場合 IllegalArgumentExceptionSE
- 現在指定されている行インデックスで行データが利用できる場合 public int getRowIndex()
現在選択されている行のゼロ相対インデックスを返します。現在行に配置されていない場合、または使用可能な wrappedData
がない場合は、-1 を返します。
DataModel<E>
の getRowIndex
FacesException
- 行インデックスの取得中にエラーが発生した場合 public void setRowIndex(int rowIndex)
現在選択されている行のゼロ相対インデックスを設定するか、行に配置されていないことを示すには -1 を設定します。基になるデータコレクションに行データが含まれていない値に行インデックスを設定することができます。呼び出し元は isRowAvailable()
メソッドを使用して、行データが getRowData()
メソッドで使用できるかどうかを検出できます。
このメソッドが呼び出されたときに使用可能な wrappedData
がない場合、指定された rowIndex
が格納されます(その後の getRowData()
の呼び出しで取得できます)が、イベントは送信されません。それ以外の場合、現在選択されている行インデックスがこの呼び出しによって変更されると、DataModelEvent
がすべての登録済み DataModelListener
の rowSelected()
メソッドに送信されます。
DataModel<E>
の setRowIndex
rowIndex
- 新しいゼロ相対インデックス (負でない必要があります)FacesException
- 行インデックスの設定中にエラーが発生した場合 IllegalArgumentExceptionSE
- rowIndex
が -1 より小さい場合 public ObjectSE getWrappedData()
この DataModel
によってラップされたデータを表すオブジェクトがあれば、それを返します。
DataModel<E>
の getWrappedData
Object
public void setWrappedData(ObjectSE data)
この DataModel
によってラップされたデータコレクションを表すオブジェクトを設定します。指定された data
が null
である場合、代わりに以前にラップされたデータコレクションからこの DataModel
をデタッチします。
data
が null
以外の場合、現在選択されている行インデックスをゼロに設定し、DataModelEvent
をすべての登録済み DataModelListener
の rowSelected()
メソッドに送信して、この行が現在選択されていることを示す必要があります。
DataModel<E>
の setWrappedData
data
- ラップするデータコレクション、または null
で以前のデータコレクションから切り離す ClassCastExceptionSE
- data
がこの DataModel
実装に適した型でない場合 Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.