public abstract class DataModel<E> extends ObjectSE implements IterableSE<E>
DataModel は、子コンポーネント(UIData など)の行ごとの処理をサポートする Jakarta Server Faces コンポーネントが使用するさまざまなデータソースを適応させるために使用できる任意のデータバインディングテクノロジーに関する抽象化です。
DataModel インスタンスの基になるデータコレクションは、ゼロ相対カーソル(行インデックス)でアクセスできる行オブジェクトのコレクションとしてモデル化されます。API は、指定されたゼロ相対行インデックスに配置し、現在の行インデックスに対応するデータを表すオブジェクトを取得するメカニズムを提供します。
具体的な DataModel インスタンスは、setWrappedData() メソッドを呼び出すことによって、基礎となるデータの特定のコレクションにアタッチされます。このメソッドに null パラメーターを渡すことで、基礎となるデータコレクションから切り離すことができます。
具体的な DataModel 実装は、setWrappedData(null) を呼び出す引数なしの public コンストラクターを提供する必要があります。適切な型のラップされたオブジェクトを受け取る(そして setWrappedData() への呼び出しを介してそれを渡す)便利なコンストラクターも提供する必要があります。
イベントリスナーを登録して、新しい行インデックスが選択されたときに通知を受け取ることができます。
| コンストラクターと説明 |
|---|
DataModel() |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | addDataModelListener(DataModelListener listener) この DataModel からの通知に関心のあるセットに新しい DataModelListener を追加します。 |
DataModelListener[] | getDataModelListeners() この DataModel からの通知に関心のある DataModelListener のセットを返します。 |
abstract int | getRowCount() この DataModel で表されるデータオブジェクトの行数を返します。 |
abstract E | getRowData() 現在選択されている行インデックスのデータを表すオブジェクトを返します。 |
abstract int | getRowIndex() 現在選択されている行のゼロ相対インデックスを返します。 |
abstract ObjectSE | getWrappedData() この DataModel によってラップされたデータを表すオブジェクトがあれば、それを返します。 |
abstract boolean | isRowAvailable() 現在の rowIndex で使用可能な rowData があるかどうかを示すフラグを返します。 |
IteratorSE<E> | iterator() このモデルの行データに対して読み取り専用の |
void | removeDataModelListener(DataModelListener listener) この DataModel からの通知に関心のあるセットから既存の DataModelListener を削除します。 |
abstract void | setRowIndex(int rowIndex) 現在選択されている行のゼロ相対インデックスを設定するか、行に配置されていないことを示すには -1 を設定します。 |
abstract void | setWrappedData(ObjectSE data) この DataModel によってラップされたデータコレクションを表すオブジェクトを設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEforEachSE, spliteratorSEpublic abstract boolean isRowAvailable()
現在の rowIndex で使用可能な rowData があるかどうかを示すフラグを返します。wrappedData が利用できない場合は、false を返します。
FacesException - 行の可用性を取得するときにエラーが発生した場合 public abstract int getRowCount()
この DataModel で表されるデータオブジェクトの行数を返します。行数が不明な場合、または使用可能な wrappedData がない場合は、-1 を返します。
DataModel によって表されるデータの行数 FacesException - 行数の取得中にエラーが発生した場合 public abstract E getRowData()
現在選択されている行インデックスのデータを表すオブジェクトを返します。wrappedData が利用できない場合は、null を返します。
FacesException - 行データの取得中にエラーが発生した場合 IllegalArgumentExceptionSE - 現在指定されている行インデックスで行データが利用できる場合 public abstract int getRowIndex()
現在選択されている行のゼロ相対インデックスを返します。現在行に配置されていない場合、または使用可能な wrappedData がない場合は、-1 を返します。
FacesException - 行インデックスの取得中にエラーが発生した場合 public abstract void setRowIndex(int rowIndex)
現在選択されている行のゼロ相対インデックスを設定するか、行に配置されていないことを示すには -1 を設定します。基になるデータコレクションに行データが含まれていない値に行インデックスを設定することができます。呼び出し元は isRowAvailable() メソッドを使用して、行データが getRowData() メソッドで使用できるかどうかを検出できます。
このメソッドが呼び出されたときに使用可能な wrappedData がない場合、指定された rowIndex が格納されます(その後の getRowData() の呼び出しで取得できます)が、イベントは送信されません。それ以外の場合、現在選択されている行インデックスがこの呼び出しによって変更されると、DataModelEvent がすべての登録済み DataModelListener の rowSelected() メソッドに送信されます。
rowIndex - 新しいゼロ相対インデックス (負でない必要があります)FacesException - 行インデックスの設定中にエラーが発生した場合 IllegalArgumentExceptionSE - rowIndex が -1 より小さい場合 public abstract ObjectSE getWrappedData()
この DataModel によってラップされたデータを表すオブジェクトがあれば、それを返します。
Object public abstract void setWrappedData(ObjectSE data)
この DataModel によってラップされたデータコレクションを表すオブジェクトを設定します。指定された data が null である場合、代わりに以前にラップされたデータコレクションからこの DataModel をデタッチします。
data が null 以外の場合、現在選択されている行インデックスをゼロに設定し、DataModelEvent をすべての登録済み DataModelListener の rowSelected() メソッドに送信して、この行が現在選択されていることを示す必要があります。
data - ラップするデータコレクション、または null で以前のデータコレクションから切り離す ClassCastExceptionSE - data がこの DataModel 実装に適した型でない場合 public void addDataModelListener(DataModelListener listener)
この DataModel からの通知に関心のあるセットに新しい DataModelListener を追加します。
listener - 登録する新しい DataModelListenerNullPointerExceptionSE - listener が null の場合 public DataModelListener[] getDataModelListeners()
この DataModel からの通知に関心のある DataModelListener のセットを返します。そのようなリスナーがない場合は、空の配列が返されます。
public void removeDataModelListener(DataModelListener listener)
この DataModel からの通知に関心のあるセットから既存の DataModelListener を削除します。
listener - 登録解除される古い DataModelListenerNullPointerExceptionSE - listener が null の場合 public IteratorSE<E> iterator()
このモデルの行データに対して読み取り専用の Iterator を返します。
IterableSE<E> の iteratorSE Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.