パッケージ jakarta.faces.model

クラス IterableDataModel<E>

java.lang.ObjectSE
jakarta.faces.model.DataModel<E>
jakarta.faces.model.IterableDataModel<E>
実装済みのインターフェース一覧:
IterableSE<E>

public class IterableDataModel<E> extends DataModel<E>

IterableDataModel は、Iterable をラップする DataModel の実装です。

これは、ListSESetSE などの CollectionSE 派生型を含む、ほぼすべてのコレクション型をカプセル化するために使用できます。そのため、ListDataModelCollectionDataModel などのより具体的な DataModels の代わりに、この特定の DataModel を使用できます。

  • コンストラクターの詳細

    • IterableDataModel

      public IterableDataModel()

      ラップされたデータを指定せずに新しい IterableDataModel を構築します。

    • IterableDataModel

      public IterableDataModel(IterableSE<E> iterable)

      指定されたイテラブルをラップする新しい IterableDataModel を作成します。

      パラメーター:
      iterable - ラップすることを繰り返すことができます。
  • 方法の詳細

    • isRowAvailable

      public boolean isRowAvailable()

      現在の rowIndex で使用可能な rowData があるかどうかを示すフラグを返します。wrappedData が利用できない場合は、false を返します。

      次で指定:
      クラス DataModel<E>isRowAvailable 
      戻り値:
      現在のインデックスで利用可能なデータがある場合にのみ true、それ以外の場合は false。
      例外:
      FacesException - 行の可用性を取得するときにエラーが発生した場合
    • getRowCount

      public int getRowCount()

      この DataModel で表されるデータオブジェクトの行数を返します。行数が不明な場合、または使用可能な wrappedData がない場合は、-1 を返します。

      次で指定:
      クラス DataModel<E>getRowCount 
      戻り値:
      この DataModel によって表されるデータの行数
      例外:
      FacesException - 行数の取得中にエラーが発生した場合
    • getRowData

      public E getRowData()

      現在選択されている行インデックスのデータを表すオブジェクトを返します。利用可能な wrappedData がない場合は、null を返します。

      次で指定:
      クラス DataModel<E>getRowData 
      戻り値:
      現在選択されている行インデックスのデータを表すオブジェクト
      例外:
      FacesException - 行データの取得中にエラーが発生した場合
      IllegalArgumentExceptionSE - 現在指定されている行インデックスで行データが利用できる場合
    • getRowIndex

      public int getRowIndex()

      現在選択されている行のゼロ相対インデックスを返します。現在行に配置されていない場合、または使用可能な wrappedData がない場合は、-1 を返します。

      次で指定:
      クラス DataModel<E>getRowIndex 
      戻り値:
      現在選択されている行のインデックス
      例外:
      FacesException - 行インデックスの取得中にエラーが発生した場合
    • setRowIndex

      public void setRowIndex(int rowIndex)

      現在選択されている行のゼロ相対インデックスを設定するか、行に配置されていないことを示すには -1 を設定します。基になるデータコレクションに行データが含まれていない値に行インデックスを設定することができます。呼び出し元は isRowAvailable() メソッドを使用して、行データが getRowData() メソッドで使用できるかどうかを検出できます。

      このメソッドが呼び出されたときに使用可能な wrappedData がない場合、指定された rowIndex が格納されます(その後の getRowData() の呼び出しで取得できます)が、イベントは送信されません。それ以外の場合、現在選択されている行インデックスがこの呼び出しによって変更されると、DataModelEvent がすべての登録済み DataModelListener の rowSelected() メソッドに送信されます。

      次で指定:
      クラス DataModel<E>setRowIndex 
      パラメーター:
      rowIndex - 新しいゼロ相対インデックス (負でない必要があります)
      例外:
      FacesException - 行インデックスの設定中にエラーが発生した場合
      IllegalArgumentExceptionSE - rowIndex が -1 より小さい場合
    • getWrappedData

      public ObjectSE getWrappedData()

      この DataModel によってラップされたデータを表すオブジェクトがあれば、それを返します。

      次で指定:
      クラス DataModel<E>getWrappedData 
      戻り値:
      このモデルがラップする Object 
    • setWrappedData

      public void setWrappedData(ObjectSE data)

      この DataModel によってラップされたデータコレクションを表すオブジェクトを設定します。指定された data が null である場合、代わりに以前にラップされたデータコレクションからこの DataModel をデタッチします。

      data が null 以外の場合、現在選択されている行インデックスをゼロに設定し、DataModelEvent をすべての登録済み DataModelListener の rowSelected() メソッドに送信して、この行が現在選択されていることを示す必要があります。

      次で指定:
      クラス DataModel<E>setWrappedData 
      パラメーター:
      data - ラップするデータコレクション、または null で以前のデータコレクションから切り離す
      例外:
      ClassCastExceptionSE - data がこの DataModel 実装に適した型でない場合