パッケージ jakarta.faces.component

クラス UIData

実装されているすべてのインターフェース:
NamingContainerPartialStateHolderStateHolderTransientStateHolderUniqueIdVendorComponentSystemEventListenerFacesListenerSystemEventListenerHolderEventListenerSE
既知の直属サブクラス
HtmlDataTable

public class UIData extends UIComponentBase implements NamingContainer, UniqueIdVendor

UIData は、DataModel インスタンスによって表されるデータオブジェクトのコレクションへのデータバインディングをサポートする UIComponent です。これは、このコンポーネント自体の現在の値です(通常は ValueExpression を介して確立されます)。データモデル内のデータの行に対する反復処理中に、現在の行のオブジェクトは、var プロパティで指定されたキーのリクエスト属性として公開されます。

UIColumn の子のみが、このコンポーネントに関連付けられたレンダラーによって処理される必要があります。

デフォルトでは、rendererType プロパティは jakarta.faces.Table に設定されています。この値は、setRendererType() メソッドを呼び出すことで変更できます。

  • フィールドの詳細

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

    • UIData

      public UIData()

      デフォルトのプロパティ値で新しい UIData インスタンスを作成します。

  • メソッドの詳細

    • getFamily

      public StringSE getFamily()
      クラスからコピーされた説明: UIComponent

      このコンポーネントが属するコンポーネントファミリの識別子を返します。この識別子は、rendererType プロパティの値と組み合わせて、このコンポーネントインスタンスに適切な Renderer を選択するために使用できます。このメソッドは null を返すべきではないことに注意してください

      次で指定:
      クラス UIComponentgetFamily 
      戻り値:
      コンポーネントファミリ(null 以外)。
    • getFirst

      public int getFirst()

      表示される最初の行のゼロ相対行番号を返します。

      戻り値:
      行番号。
    • setFirst

      public void setFirst(int first)

      表示する最初の行のゼロ相対行番号を設定します。

      パラメーター:
      first - 新しい最初の行番号
      例外:
      IllegalArgumentExceptionSE - first が負の場合
    • getFooter

      public UIComponent getFooter()

      このコンポーネントのフッターファセットを返します(存在する場合)。getFacet("footer") の便利なメソッド。

      戻り値:
      フッターファセット。
    • setFooter

      public void setFooter(UIComponent footer)

      このコンポーネントのフッターファセットを設定します。getFacets().put("footer", footer) の便利なメソッド。

      パラメーター:
      footer - 新しいフッターファセット
      例外:
      NullPointerExceptionSE - footer が null の場合
    • getHeader

      public UIComponent getHeader()

      このコンポーネントのヘッダーファセットを返します(存在する場合)。getFacet("header") の便利なメソッド。

      戻り値:
      ヘッダーファセット。
    • setHeader

      public void setHeader(UIComponent header)

      このコンポーネントのヘッダーファセットを設定します。getFacets().put("header", header) の便利なメソッド。

      パラメーター:
      header - 新しいヘッダーファセット
      例外:
      NullPointerExceptionSE - header が null の場合
    • isRowAvailable

      public boolean isRowAvailable()

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

      戻り値:
      行が使用可能かどうか。
      例外:
      FacesException - 行の可用性を取得するときにエラーが発生した場合
    • getRowCount

      public int getRowCount()

      基になるデータモデルの行数を返します。使用可能な行の数が不明な場合は、-1 を返します。

      戻り値:
      行数。
      例外:
      FacesException - 行数の取得中にエラーが発生した場合
    • getRowData

      public ObjectSE getRowData()

      現在選択されている行インデックスのデータを表すデータオブジェクトがあれば、それを返します。

      戻り値:
      行データ。
      例外:
      FacesException - 行データの取得中にエラーが発生した場合
      IllegalArgumentExceptionSE - 現在指定されている行インデックスで行データが利用できる場合
    • getRowIndex

      public int getRowIndex()

      現在選択されている行のゼロ相対インデックスを返します。現在列に配置されていない場合は、-1 を返します。このプロパティは、値バインディング式で は有効になっていません。

      戻り値:
      行インデックス。
      例外:
      FacesException - 行インデックスの取得中にエラーが発生した場合
    • setRowIndex

      public void setRowIndex(int rowIndex)

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

      子孫間の一時状態をサポートするには、setRowStatePreserved(boolean) の仕様を参照してください。この仕様には、rowStatePreserved JavaBeans プロパティが true に設定されている場合の setRowIndex() の要件が詳しく説明されています。

      • すべての子孫コンポーネントの現在の状態情報を保存します(以下で説明します)。
      • 新しい行インデックスを格納し、それをこの UIData インスタンスに関連付けられた DataModel に渡します。
      • 新しい rowIndex 値が -1 の場合:
        • var プロパティが null でない場合は、対応するリクエストスコープ属性(存在する場合)を削除します。
        • すべての子孫コンポーネントの状態情報をリセットします(以下で説明します)。
      • 新しい rowIndex 値が -1 でない場合:
        • var プロパティが null でない場合は、getRowData() を呼び出し、結果のデータオブジェクトを、キーが var プロパティ値であるリクエストスコープ属性として公開します。
        • すべての子孫コンポーネントの状態情報をリセットします(以下で説明します)。

      すべての子孫コンポーネントの現在の状態情報を保存するには、UIData は各子孫の行ごとの情報を次のように維持する必要があります。

      • 子孫が EditableValueHolder のインスタンスである場合は、その localValue プロパティの状態を保存します。
      • 子孫が EditableValueHolder のインスタンスである場合は、localValueSet プロパティの状態を保存します。
      • 子孫が EditableValueHolder のインスタンスである場合は、valid プロパティの状態を保存します。
      • 子孫が EditableValueHolder のインスタンスである場合は、submittedValue プロパティの状態を保存します。

      すべての子孫コンポーネントの現在の状態情報を復元するには、UIData は、現在の rowIndex について以前に保存された情報を参照し、次のように各子孫に対して setter を呼び出す必要があります。

      • 子孫が EditableValueHolder のインスタンスである場合は、value プロパティを復元します。
      • 子孫が EditableValueHolder のインスタンスである場合は、localValueSet プロパティの状態を復元します。
      • 子孫が EditableValueHolder のインスタンスである場合は、valid プロパティの状態を復元します。
      • 子孫が EditableValueHolder のインスタンスである場合は、submittedValue プロパティの状態を復元します。
      パラメーター:
      rowIndex - 新しい行インデックス値、または関連する行がない場合は -1
      例外:
      FacesException - 行インデックスの設定中にエラーが発生した場合
      IllegalArgumentExceptionSE - rowIndex が -1 より小さい場合
    • getRows

      public int getRows()

      表示する行数を返すか、テーブルの残りのすべての行をゼロにします。このプロパティのデフォルト値はゼロです。

      戻り値:
      行数。
    • setRows

      public void setRows(int rows)

      表示する行数を設定するか、テーブルの残りのすべての行をゼロに設定します。

      パラメーター:
      rows - 新しい行数
      例外:
      IllegalArgumentExceptionSE - rows が負の場合
    • getVar

      public StringSE getVar()

      反復時に現在の行のデータオブジェクトが公開される request-scope 属性を返します。このプロパティは、値バインディング式で は有効になっていません。

      戻り値:
      彼は request-scope 属性です。
    • setVar

      public void setVar(StringSE var)

      反復時に現在の行のデータオブジェクトが公開される request-scope 属性を設定します。

      パラメーター:
      var - 新しいリクエストスコープの属性名
    • isRowStatePreserved

      public boolean isRowStatePreserved()

      rowStatePreserved JavaBeans プロパティの値を返します。setRowStatePreserved(boolean) を参照してください。

      戻り値:
      rowStatePreserved の値。
      導入:
      2.1
    • setRowStatePreserved

      public void setRowStatePreserved(boolean preserveComponentState)

      このプロパティが true に設定されている場合、UIData は、反復された子への変更が行ごとに保持されるようにするための手順を実行する必要があります。これにより、アプリケーションは、すべての行にそのような変更を適用するのではなく、特定の行のスタイルクラスなどのコンポーネントプロパティを変更できます。

      これを実現するには、UIData はその子で StateHolder.saveState(jakarta.faces.context.FacesContext)TransientStateHolder.saveTransientState(jakarta.faces.context.FacesContext) を呼び出して、各行を出るときの状態をキャプチャーする必要があります。行に再度入るとき、子を新しい行の正しい状態に再初期化するために、StateHolder.restoreState(jakarta.faces.context.FacesContext, java.lang.Object) および TransientStateHolder.restoreTransientState(jakarta.faces.context.FacesContext, java.lang.Object) を呼び出す必要があります。このアクションはすべて、setRowIndex(int) の処理中に実行する必要があります。

      ユーザーは、UIData の子のプロパティを行固有の方法で変更する必要がある場合に、この機能を有効にすることを検討する必要があります。ただし、行レベルの状態の保存 / 復元はオーバーヘッドを追加することに注意してください。そのため、この機能は慎重に使用する必要があります。

      パラメーター:
      preserveComponentState - 状態を保持する必要がある場合のフラグ。
      導入:
      2.1
    • getValue

      public ObjectSE getValue()

      UIData の値を返します。この値は、型 DataModel であるか、DataModel に適合できる型である必要があります。UIData は、次の型を自動的に適応させます。

      • 配列
      • java.util.List
      • java.sql.ResultSet
      • java.util.Collection

      他のすべての型は、ScalarDataModel クラスを使用して適合されます。このクラスは、オブジェクトを単一行のデータとして扱います。

      戻り値:
      値のオブジェクト。
    • setValue

      public void setValue(ObjectSE value)

      UIData の値を設定します。この値は、型 DataModel であるか、DataModel に適合できる型である必要があります。

      パラメーター:
      value - 新しい価値
    • setValueExpression

      public void setValueExpression(StringSE name, ValueExpression binding)

      指定された属性またはプロパティ名(存在する場合)の値を計算するために使用される ValueExpression を設定します。さらに、value プロパティに ValueExpression が設定されている場合は、このコンポーネントに以前にバインドされたデータの合成された DataModel をすべて削除します。

      オーバーライド:
      クラス UIComponentsetValueExpression 
      パラメーター:
      name - ValueExpression を設定する属性またはプロパティの名前
      binding - 設定する ValueExpression、または現在設定されている ValueExpression を削除する null 
      例外:
      IllegalArgumentExceptionSE - name が idparentvar、または rowIndex のいずれかである場合
      NullPointerExceptionSE - name が null の場合
      導入:
      1.2
    • getClientId

      public StringSE getClientId(FacesContext context)

      -1 に設定されていない場合は、rowIndex プロパティの現在の値を含むこのコンポーネントのクライアント識別子を返します。これは、getClientId() への複数の呼び出しが異なる結果を返す可能性があることを意味しますが、子コンポーネント自体が行固有のクライアント ID を生成できることを保証します(UIDataNamingContainer であるため)。

      オーバーライド:
      クラス UIComponentBasegetClientId 
      パラメーター:
      context - 現在のリクエストの FacesContext
      戻り値:
      クライアント ID。
      例外:
      NullPointerExceptionSE - context が null の場合
    • invokeOnComponent

      public boolean invokeOnComponent(FacesContext context, StringSE clientId, ContextCallback callback) throws FacesException

      UIComponentBase.invokeOnComponent(jakarta.faces.context.FacesContext, java.lang.String, jakarta.faces.component.ContextCallback) の動作をオーバーライドして、コンポーネントを見つけてそのコールバックを呼び出す前に、データを適切に配置するための特別な配慮を提供します。引数 clientId が this.getClientId() に等しい場合は、単に contextCallback を呼び出し、context 引数と this を引数として渡して、true. を返します。引数 clientId が this.getClientId() に等しくない場合は、この UIData インスタンスのファセットの子それぞれをインスペクションし、それぞれについて、その clientId を引数 clientId と比較します。一致するものがある場合は、contextCallback を呼び出し、context 引数と this を引数として渡して、true を返します。それ以外の場合は、clientId から rowIndex を抽出しようとします。例: 引数 clientId が form:data:3:customerHeader の場合、rowIndex は 3 になります。この値を newIndex と呼びます。このインスタンスの現在の rowIndex は、検索の結果やプロセスで例外がスローされたかどうかに関係なく、必ず保存しておいて、戻る前に復元する必要があります。

      このインスタンスの rowIndex を newIndex と等しくなるように設定するとそのインスタンスが isRowAvailable() から false を返す場合、このメソッドの実装は true を返してはなりません。

      オーバーライド:
      クラス UIComponentBaseinvokeOnComponent 
      パラメーター:
      context - 現在のリクエストの FacesContext
      clientId - 引数コールバックに渡されるコンポーネントのクライアント識別子。
      callback - Callback インターフェースの実装。
      戻り値:
      true 指定された clientId を持つコンポーネントが見つかった場合、そのコンポーネントを引数として渡してコールバックメソッドが正常に呼び出され、例外はスローされませんでした。指定された clientId のコンポーネントが見つからない場合、false を返します。
      例外:
      NullPointerExceptionSE - いずれかの引数が null の場合
      FacesException - 引数 Callback が例外をスローした場合、FacesException にラップされて再スローされます。引数 clientId から rowIndex を派生するときに例外がスローされた場合も、FacesException がスローされます。
      導入:
      1.2
    • queueEvent

      public void queueEvent(FacesEvent event)

      デフォルトの UIComponentBase.queueEvent(jakarta.faces.event.FacesEvent) 処理をオーバーライドして、キューに入れられたイベントをラッパーでラップし、broadcast() の現在の行インデックスをリセットできるようにします。

      オーバーライド:
      クラス UIComponentBasequeueEvent 
      パラメーター:
      event - キューに入れられる FacesEvent
      例外:
      IllegalStateExceptionSE - このコンポーネントが UIViewRoot の子孫でない場合
      NullPointerExceptionSE - event が null の場合
    • broadcast

      public void broadcast(FacesEvent event) throws AbortProcessingException

      イベントが実際にブロードキャストされる前に、デフォルトの UIComponentBase.broadcast(jakarta.faces.event.FacesEvent) 処理をオーバーライドして、ラップされた FacesEvent をアンラップし、現在の行インデックスをリセットします。(queueEvent() で)ラップしなかったイベントの場合、デフォルトの処理が発生します。

      オーバーライド:
      クラス UIComponentBasebroadcast 
      パラメーター:
      event - 放送される FacesEvent
      例外:
      AbortProcessingException - Jakarta Faces 実装に、現在のイベントでこれ以上の処理を実行しないことを通知します
      IllegalArgumentExceptionSE - この FacesEvent の実装クラスがこのコンポーネントでサポートされていない場合
      NullPointerExceptionSE - event が null の場合
    • encodeBegin

      public void encodeBegin(FacesContext context) throws IOExceptionSE

      デフォルトの動作に加えて、現在のページをエラーで再レンダリングする必要がない限り、子入力コンポーネントの保存された行ごとの状態が破棄されることを確認してください。

      オーバーライド:
      クラス UIComponentBaseencodeBegin 
      パラメーター:
      context - 現在のリクエストの FacesContext
      例外:
      IOExceptionSE - レンダリング中に入出力エラーが発生した場合
      NullPointerExceptionSE - context が null の場合
    • processDecodes

      public void processDecodes(FacesContext context)

      デフォルトの UIComponentBase.processDecodes(jakarta.faces.context.FacesContext) 処理をオーバーライドして、以下のステップを実行します。

      • この UIComponent の rendered プロパティが false の場合、以降の処理をスキップします。
      • 現在の rowIndex を -1 に設定します。
      • この UIData のすべてのファセットの processDecodes() メソッドを、getFacets().keySet().iterator() の呼び出しによって決定された順序で呼び出します。
      • この UIDataUIColumn 子のすべてのファセットの processDecodes() メソッドを呼び出します。
      • このコンポーネントがレンダリングされたときに含まれていた行のセット(つまり、first および rows プロパティによって定義された行)を反復処理し、各行に対して次の処理を実行します。
        • 現在の rowIndex をこの行の適切な値に設定します。
        • isRowAvailable() が true を返す場合、この UIData コンポーネントの各 UIColumn 子の子コンポーネントを反復処理し、そのような子ごとに processDecodes() メソッドを呼び出します。
      • 現在の rowIndex を -1 に設定します。
      • このコンポーネントの decode() メソッドを呼び出します。
      • デコード処理中に RuntimeException がスローされた場合は、FacesContext.renderResponse() を呼び出して例外を再スローします。
      オーバーライド:
      クラス UIComponentBaseprocessDecodes 
      パラメーター:
      context - 現在のリクエストの FacesContext
      例外:
      NullPointerExceptionSE - context が null の場合
    • processValidators

      public void processValidators(FacesContext context)

      デフォルトの UIComponentBase.processValidators(jakarta.faces.context.FacesContext) 処理をオーバーライドして、以下のステップを実行します。

      • この UIComponent の rendered プロパティが false の場合、以降の処理をスキップします。
      • 現在の rowIndex を -1 に設定します。
      • この UIData のすべてのファセットの processValidators() メソッドを、getFacets().keySet().iterator() の呼び出しによって決定された順序で呼び出します。
      • この UIDataUIColumn 子のすべてのファセットの processValidators() メソッドを呼び出します。
      • このコンポーネントがレンダリングされたときに含まれていた行のセット(つまり、first および rows プロパティによって定義された行)を反復処理し、各行に対して次の処理を実行します。
        • 現在の rowIndex をこの行の適切な値に設定します。
        • isRowAvailable() が true を返す場合、この UIData コンポーネントの各 UIColumn 子の子コンポーネントを反復処理し、そのような子ごとに processValidators() メソッドを呼び出します。
      • 現在の rowIndex を -1 に設定します。
      オーバーライド:
      クラス UIComponentBaseprocessValidators 
      パラメーター:
      context - 現在のリクエストの FacesContext
      例外:
      NullPointerExceptionSE - context が null の場合
      関連事項:
    • processUpdates

      public void processUpdates(FacesContext context)

      デフォルトの UIComponentBase.processUpdates(jakarta.faces.context.FacesContext) 処理をオーバーライドして、以下のステップを実行します。

      • この UIComponent の rendered プロパティが false の場合、以降の処理をスキップします。
      • 現在の rowIndex を -1 に設定します。
      • この UIData のすべてのファセットの processUpdates() メソッドを、getFacets().keySet().iterator() の呼び出しによって決定された順序で呼び出します。
      • この UIDataUIColumn 子のすべてのファセットの processUpdates() メソッドを呼び出します。
      • このコンポーネントがレンダリングされたときに含まれていた行のセット(つまり、first および rows プロパティによって定義された行)を反復処理し、各行に対して次の処理を実行します。
        • 現在の rowIndex をこの行の適切な値に設定します。
        • isRowAvailable() が true を返す場合、この UIData コンポーネントの各 UIColumn 子の子コンポーネントを反復処理し、そのような子ごとに processUpdates() メソッドを呼び出します。
      • 現在の rowIndex を -1 に設定します。
      オーバーライド:
      クラス UIComponentBaseprocessUpdates 
      パラメーター:
      context - 現在のリクエストの FacesContext
      例外:
      NullPointerExceptionSE - context が null の場合
    • createUniqueId

      public StringSE createUniqueId(FacesContext context, StringSE seed)
      インターフェースからコピーされた説明: UniqueIdVendor

      コンポーネントの識別子を生成します。識別子の前には UNIQUE_ID_PREFIX が付けられ、このコンポーネントコンテナー内で一意になります。オプションで、生成された一意の ID に含める必要のある一意のシード値をコンポーネントの作成者が提供できます。

      次で指定:
      インターフェース UniqueIdVendorcreateUniqueId 
      パラメーター:
      context - FacesContext
      seed - オプションのシード値 - 例 VDL テンプレート内のコンポーネントの位置に基づく
      戻り値:
      このコンポーネントコンテナーの一意の ID
    • visitTree

      public boolean visitTree(VisitContext context, VisitCallback callback)

      UIComponent.visitTree(jakarta.faces.component.visit.VisitContext, jakarta.faces.component.visit.VisitCallback) の動作をオーバーライドして、反復を正しく処理します。

      このインスタンスの UIComponent.isVisitable(jakarta.faces.component.visit.VisitContext) メソッドが false を返す場合は、アクションを実行せずに戻ります。

      UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent) を呼び出して、UIComponent.visitTree(jakarta.faces.component.visit.VisitContext, jakarta.faces.component.visit.VisitCallback) に従って、この UIData インスタンスで visit コールバックを呼び出します。呼び出しの結果を visitResult にします。visitResultVisitResult.COMPLETE の場合は、それ以上のアクションは実行せず、true を返します。それ以外の場合は、子を訪問する必要があるかどうかを判断します。デフォルトの実装では、引数として this を渡して VisitContext.getSubtreeIdsToVisit(jakarta.faces.component.UIComponent) を呼び出します。その呼び出しの結果が空でない場合は、doVisitChildren を true にします。doVisitChildren が true で、visitResultVisitResult.ACCEPT の場合は、次のアクションを実行します。

      UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext) を呼び出し、setRowIndex(int) を呼び出して、保存された行インデックスを復元します。

      false を返して、訪問を続行できるようにします。

      オーバーライド:
      クラス UIComponentvisitTree 
      パラメーター:
      context - 訪問を実行するためのコンテキストを提供する VisitContext
      callback - 訪問で検出されたノードごとに呼び出されるコールバック。
      戻り値:
      コンポーネントの実装は、true を返し、ツリーの訪問が完了したことを示す場合があります(訪問する必要のあるすべてのコンポーネントが訪問されたなど)。これにより、ツリーへのアクセスが短絡され、アクセスされるコンポーネントがなくなります。
      例外:
      NullPointerExceptionSE - パラメーターのいずれかが null の場合。
      関連事項:
    • markInitialState

      public void markInitialState()

      StateManager.IS_BUILDING_INITIAL_STATE が true で 、このインスタンスの rowStatePreserved JavaBeans プロパティが true のときにメソッドが呼び出されている場合は、基本クラスのメソッドをオーバーライドして特別なアクションを実行します。

      実行される追加のアクションは、特定の行の値に関係なく、子孫をトラバースして状態を保存することです。

      次で指定:
      インターフェース PartialStateHoldermarkInitialState 
      オーバーライド:
      クラス UIComponentBasemarkInitialState 
      導入:
      2.1
    • restoreState

      public void restoreState(FacesContext context, ObjectSE state)
      インターフェースからコピーされた説明: StateHolder

      state オブジェクトのエントリから状態を復元するために必要な処理を実行します。

      このインターフェースを実装するクラスが、StateHolder も実装するインスタンスへの参照を持っている場合(イベントハンドラー、バリデーターなどを備えた UIComponent など)、このメソッドはそれらすべてのインスタンスで StateHolder.restoreState(jakarta.faces.context.FacesContext, java.lang.Object) メソッドも呼び出す必要があります。

      state 引数が null の場合、アクションを実行せずに戻ります。

      次で指定:
      インターフェース StateHolderrestoreState 
      オーバーライド:
      クラス UIComponentBaserestoreState 
      パラメーター:
      context - Faces コンテキスト。
      state - 状態。
    • saveState

      public ObjectSE saveState(FacesContext context)
      インターフェースからコピーされた説明: StateHolder

      インスタンスの状態を Serializable オブジェクトとして取得します。

      このインターフェースを実装するクラスが、StateHolder を実装するインスタンス(イベントハンドラー、バリデーターなどを含む UIComponent など)への参照を持っている場合、このメソッドはそれらすべてのインスタンスで StateHolder.saveState(jakarta.faces.context.FacesContext) メソッドも呼び出す必要があります。このメソッドは、子とファセットの状態を保存してはなりませんそれは StateManager を介して行われます

      このメソッドは、実装オブジェクトの状態を変更してはなりません。つまり、このコードを実行した後:

       
       Object state = component.saveState(facesContext);
       
       

      component は、実行前と同じでなければなりません。

      このメソッドからの戻り値は Serializable でなければなりません

      次で指定:
      インターフェース StateHoldersaveState 
      オーバーライド:
      クラス UIComponentBasesaveState 
      パラメーター:
      context - Faces コンテキスト。
      戻り値:
      保存された状態。
    • getDataModel

      protected DataModel getDataModel()

      このコンポーネントのレンダリングで反復するデータオブジェクトを表す内部 DataModel オブジェクトを返します。

      モデルが以前の setDataModel(jakarta.faces.model.DataModel) の呼び出しによってキャッシュされている場合は、それを返します。それ以外の場合は、getValue() を呼び出します。結果が null の場合は、空の ListDataModel を作成して返します。結果が DataModel のインスタンスである場合は、それを返します。それ以外の場合は、getValue() の説明に従って結果を適合させ、それを返します。

      戻り値:
      データモデル。
    • setDataModel

      protected void setDataModel(DataModel dataModel)

      内部 DataModel を設定します。この UIData インスタンスは、現在から setDataModel の次の呼び出しまで、指定された DataModel を内部値表現として使用する必要があります。指定された DataModel が null である場合、getDataModel() への次の呼び出しによって新しくリフレッシュされた DataModel の遅延インスタンス化が発生するように、内部 DataModel をリセットする必要があります。

      サブクラスは、ビュー復元フェーズ中に内部 DataModel を復元する場合、またはレスポンスレンダリングフェーズで現在の DataModel を明示的にリフレッシュする場合に、このメソッドを呼び出すことがあります。

      パラメーター:
      dataModel - 新しい DataModel または null により、モデルがリフレッシュされます。