public class ResultSetDataModel extends DataModel<MapSE<StringSE,ObjectSE>>
ResultSetDataModel は、Java オブジェクトの ResultSet
をラップする DataModel
の便利な実装です。指定された ResultSet
はスクロール可能でなければならないことに注意してください。さらに、入力コンポーネント(モデル値を更新する)が値バインディング式でこのオブジェクトを参照する場合、指定された ResultSet
は更新可能でなければなりません。
コンストラクターと説明 |
---|
ResultSetDataModel() ラップされたデータを指定せずに新しい ResultSetDataModel を構築します。 |
ResultSetDataModel(ResultSetSE resultSet) 指定された ResultSet をラップする新しい ResultSetDataModel を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
int | getRowCount() ResultSet は、ResultSet 全体をスクロールせずに使用可能な行数を決定する標準的な方法を提供しないため、-1 を返します。行数が多い場合、これは非常にコストがかかる可能性があります。 |
MapSE<StringSE, ObjectSE> | getRowData() 行データが使用可能な場合は、対応する列名でキー設定された、 rowIndex で指定された行の列の値を表す Map を返します。 |
int | getRowIndex() 現在選択されている行のゼロ相対インデックスを返します。 |
ObjectSE | getWrappedData() この DataModel によってラップされたデータを表すオブジェクトがあれば、それを返します。 |
boolean | isRowAvailable() 使用可能な wrappedData がある場合は true を返し、基になる ResultSet で absolute() を呼び出し、rowIndex の現在の値に 1 を加えた結果(ResultSet が 1 相対インデックスを使用するという事実を説明するため)を返すと、true が返されます。 |
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 ResultSetDataModel()
ラップされたデータを指定せずに新しい ResultSetDataModel
を構築します。
public ResultSetDataModel(ResultSetSE resultSet)
指定された ResultSet
をラップする新しい ResultSetDataModel
を作成します。
resultSet
- ラップする ResultSet
(もしあれば)public boolean isRowAvailable()
使用可能な wrappedData
がある場合は true
を返し、基になる ResultSet
で absolute()
を呼び出し、rowIndex
の現在の値に 1 を加えた結果(ResultSet
が 1 相対インデックスを使用するという事実を説明するため)を返すと、true
が返されます。それ以外の場合は、false
を返します。
DataModel<MapSE<StringSE, ObjectSE>>
の isRowAvailable
FacesException
- 行の可用性を取得するときにエラーが発生した場合 public int getRowCount()
ResultSet
は、ResultSet
全体をスクロールせずに使用可能な行数を決定する標準的な方法を提供しないため、-1 を返します。行数が多い場合、これは非常にコストがかかる可能性があります。
DataModel<MapSE<StringSE, ObjectSE>>
の getRowCount
DataModel
によって表されるデータの行数 FacesException
- 行数の取得中にエラーが発生した場合 public MapSE<StringSE,ObjectSE> getRowData()
行データが使用可能な場合は、対応する列名でキー設定された、rowIndex
で指定された行の列の値を表す Map
を返します。ラップされたデータが利用できない場合は、null
を返します。
非 null
Map
が返される場合、その動作は、次の例外と特殊な動作を除いて、AbstractMap
の JavaDocs で説明されている可変 Map
の契約に対応している必要があります。
Map
とそれが返すサポートオブジェクトは、大文字と小文字を区別しない方法ですべての列名の比較を実行する必要があります。この大文字と小文字を区別しないのは、String.CASE_INSENSITIVE_ORDER
などの大文字と小文字を区別しない Comparator
を使用して実装する必要があります。UnsupportedOperationException
をスローする必要があります: clear()
、remove()
。entrySet()
メソッドは、次の動作をする Set
を返す必要があります。Set
によって返される Iterator
を介して直接的または間接的に、Set
からエントリを追加または削除しようとする場合は、UnsupportedOperationException
をスローします。set
のエントリの value
への更新は、基礎となる ResultSet
の対応する列値に書き込む必要があります。keySet()
メソッドは、直接または Set
によって返される Iterator
を介して、キーを追加または削除しようとすると UnsupportedOperationException
をスローする Set
を返す必要があります。containsKey()
が false
を返すキー値が指定されている場合、put()
メソッドは IllegalArgumentException
をスローする必要があります。ただし、Map
にすでに存在するキーが指定されている場合、指定された値は、基になる ResultSet
の対応する列値に書き込む必要があります。values()
メソッドは、直接または Collection
によって返される Iterator
を介して、値を追加または削除しようとすると UnsupportedOperationException
をスローする Collection
を返す必要があります。DataModel<MapSE<StringSE, ObjectSE>>
の getRowData
FacesException
- 行データの取得中にエラーが発生した場合 IllegalArgumentExceptionSE
- 現在指定されている行インデックスで行データが利用できる場合 public int getRowIndex()
DataModel
現在選択されている行のゼロ相対インデックスを返します。現在行に配置されていない場合、または使用可能な wrappedData
がない場合は、-1 を返します。
DataModel<MapSE<StringSE, ObjectSE>>
の getRowIndex
FacesException
- 行インデックスの取得中にエラーが発生した場合 public void setRowIndex(int rowIndex)
DataModel
現在選択されている行のゼロ相対インデックスを設定するか、行に配置されていないことを示すには -1 を設定します。基になるデータコレクションに行データが含まれていない値に行インデックスを設定することができます。呼び出し元は isRowAvailable()
メソッドを使用して、行データが getRowData()
メソッドで使用できるかどうかを検出できます。
このメソッドが呼び出されたときに使用可能な wrappedData
がない場合、指定された rowIndex
が格納されます(その後の getRowData()
の呼び出しで取得できます)が、イベントは送信されません。それ以外の場合、現在選択されている行インデックスがこの呼び出しによって変更されると、DataModelEvent
がすべての登録済み DataModelListener
の rowSelected()
メソッドに送信されます。
DataModel<MapSE<StringSE, ObjectSE>>
の setRowIndex
rowIndex
- 新しいゼロ相対インデックス (負でない必要があります)FacesException
- 行インデックスの設定中にエラーが発生した場合 IllegalArgumentExceptionSE
- rowIndex
が -1 より小さい場合 public ObjectSE getWrappedData()
DataModel
この DataModel
によってラップされたデータを表すオブジェクトがあれば、それを返します。
DataModel<MapSE<StringSE, ObjectSE>>
の getWrappedData
Object
public void setWrappedData(ObjectSE data)
DataModel
この DataModel
によってラップされたデータコレクションを表すオブジェクトを設定します。指定された data
が null
である場合、代わりに以前にラップされたデータコレクションからこの DataModel
をデタッチします。
data
が null
以外の場合、現在選択されている行インデックスをゼロに設定し、DataModelEvent
をすべての登録済み DataModelListener
の rowSelected()
メソッドに送信して、この行が現在選択されていることを示す必要があります。
DataModel<MapSE<StringSE, ObjectSE>>
の setWrappedData
data
- ラップするデータコレクション、または null
で以前のデータコレクションから切り離す ClassCastExceptionSE
- data
がこの DataModel
実装に適した型でない場合 Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.