クラス ResultSetDataModel
- java.lang.ObjectSE
-
- jakarta.faces.model.DataModel<MapSE<StringSE,ObjectSE>>
-
- jakarta.faces.model.ResultSetDataModel
- 実装されているすべてのインターフェース:
IterableSE<MapSE<StringSE,ObjectSE>>
public class ResultSetDataModel extends DataModel<MapSE<StringSE,ObjectSE>>
ResultSetDataModel は、Java オブジェクトの
ResultSetをラップするDataModelの便利な実装です。指定されたResultSetはスクロール可能でなければならないことに注意してください。さらに、入力コンポーネント(モデル値を更新する)が値バインディング式でこのオブジェクトを参照する場合、指定されたResultSetは更新可能でなければなりません。
コンストラクターの概要
コンストラクター コンストラクター 説明 ResultSetDataModel()ラップされたデータを指定せずに新しいResultSetDataModelを構築します。ResultSetDataModel(ResultSetSE resultSet)指定されたResultSetをラップする新しいResultSetDataModelを作成します。
方法の概要
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 intgetRowCount()ResultSetは、ResultSet全体をスクロールせずに使用可能な行数を決定する標準的な方法を提供しないため、-1 を返します。行数が多い場合、これは非常にコストがかかる可能性があります。MapSE<StringSE,ObjectSE>getRowData()行データが使用可能な場合は、対応する列名でキー設定された、rowIndexで指定された行の列の値を表すMapを返します。intgetRowIndex()現在選択されている行のゼロ相対インデックスを返します。ObjectSEgetWrappedData()このDataModelによってラップされたデータを表すオブジェクトがあれば、それを返します。booleanisRowAvailable()使用可能なwrappedDataがある場合はtrueを返し、基になるResultSetでabsolute()を呼び出し、rowIndexの現在の値に 1 を加えた結果(ResultSetが 1 相対インデックスを使用するという事実を説明するため)を返すと、trueが返されます。voidsetRowIndex(int rowIndex)現在選択されている行のゼロ相対インデックスを設定するか、行に配置されていないことを示すには -1 を設定します。voidsetWrappedData(ObjectSE data)このDataModelによってラップされたデータコレクションを表すオブジェクトを設定します。クラス jakarta.faces.model.DataModel から継承されたメソッド
addDataModelListener, getDataModelListeners, iterator, removeDataModelListener
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース java.lang.IterableSE から継承されたメソッド
forEachSE, spliterator
コンストラクターの詳細
ResultSetDataModel
public ResultSetDataModel()
ラップされたデータを指定せずに新しい
ResultSetDataModelを構築します。
ResultSetDataModel
public ResultSetDataModel(ResultSetSE resultSet)
指定された
ResultSetをラップする新しいResultSetDataModelを作成します。- パラメーター:
resultSet- ラップするResultSet(もしあれば)
メソッドの詳細
isRowAvailable
public boolean isRowAvailable()
使用可能な
wrappedDataがある場合はtrueを返し、基になるResultSetでabsolute()を呼び出し、rowIndexの現在の値に 1 を加えた結果(ResultSetが 1 相対インデックスを使用するという事実を説明するため)を返すと、trueが返されます。それ以外の場合は、falseを返します。- 次で指定:
- クラス
DataModel<MapSE<StringSE,ObjectSE>>のisRowAvailable - 戻り値:
- 現在のインデックスで利用可能なデータがある場合にのみ true、それ以外の場合は false。
- 例外:
FacesException- 行の可用性を取得するときにエラーが発生した場合
getRowCount
public int getRowCount()
ResultSetは、ResultSet全体をスクロールせずに使用可能な行数を決定する標準的な方法を提供しないため、-1 を返します。行数が多い場合、これは非常にコストがかかる可能性があります。- 次で指定:
- クラス
DataModel<MapSE<StringSE,ObjectSE>>のgetRowCount - 戻り値:
- この
DataModelによって表されるデータの行数 - 例外:
FacesException- 行数の取得中にエラーが発生した場合
getRowData
public MapSE<StringSE,ObjectSE> getRowData()
行データが使用可能な場合は、対応する列名でキー設定された、
rowIndexで指定された行の列の値を表すMapを返します。ラップされたデータが利用できない場合は、nullを返します。非 nullMapが返される場合、その動作は、次の例外と特殊な動作を除いて、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- 現在指定されている行インデックスで行データが利用できる場合
getRowIndex
public int getRowIndex()
クラスからコピーされた説明:DataModel現在選択されている行のゼロ相対インデックスを返します。現在行に配置されていない場合、または使用可能な
wrappedDataがない場合は、-1 を返します。- 次で指定:
- クラス
DataModel<MapSE<StringSE,ObjectSE>>のgetRowIndex - 戻り値:
- 現在選択されている行のインデックス
- 例外:
FacesException- 行インデックスの取得中にエラーが発生した場合
setRowIndex
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 より小さい場合
getWrappedData
public ObjectSE getWrappedData()
クラスからコピーされた説明:DataModelこの
DataModelによってラップされたデータを表すオブジェクトがあれば、それを返します。- 次で指定:
- クラス
DataModel<MapSE<StringSE,ObjectSE>>のgetWrappedData - 戻り値:
- このモデルがラップする
Object
setWrappedData
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実装に適した型でない場合