public class UIData extends UIComponentBase implements NamingContainer, UniqueIdVendor
UIData は、DataModel インスタンスによって表されるデータオブジェクトのコレクションへのデータバインディングをサポートする UIComponent です。これは、このコンポーネント自体の現在の値です(通常は ValueExpression を介して確立されます)。データモデル内のデータの行に対する反復処理中に、現在の行のオブジェクトは、var プロパティで指定されたキーのリクエスト属性として公開されます。
型 UIColumn の子のみが、このコンポーネントに関連付けられたレンダラーによって処理される必要があります。
デフォルトでは、rendererType プロパティは jakarta.faces.Table に設定されています。この値は、setRendererType() メソッドを呼び出すことで変更できます。
| 修飾子と型 | フィールドと説明 |
|---|---|
static StringSE | COMPONENT_FAMILY このコンポーネントの標準コンポーネントファミリ。 |
static StringSE | COMPONENT_TYPE このコンポーネントの標準コンポーネント型。 |
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEYSEPARATOR_CHAR| 修飾子と型 | メソッドと説明 |
|---|---|
void | broadcast(FacesEvent event) イベントが実際にブロードキャストされる前に、デフォルトの UIComponentBase.broadcast(jakarta.faces.event.FacesEvent) 処理をオーバーライドして、ラップされた FacesEvent をアンラップし、現在の行インデックスをリセットします。 |
StringSE | createUniqueId(FacesContext context, StringSE seed) コンポーネントの識別子を生成します。 |
void | encodeBegin(FacesContext context) デフォルトの動作に加えて、現在のページをエラーで再レンダリングする必要がない限り、子入力コンポーネントの保存された行ごとの状態が破棄されることを確認してください。 |
StringSE | getClientId(FacesContext context)-1 に設定されていない場合、 rowIndex プロパティの現在の値を含むこのコンポーネントのクライアント識別子を返します。 |
protected DataModel | getDataModel() このコンポーネントのレンダリングで反復するデータオブジェクトを表す内部 DataModel オブジェクトを返します。 |
StringSE | getFamily()このコンポーネントが属するコンポーネントファミリの識別子を返します。 |
int | getFirst() 表示される最初の行のゼロ相対行番号を返します。 |
UIComponent | getFooter() このコンポーネントのフッターファセットを返します(存在する場合)。 |
UIComponent | getHeader() このコンポーネントのヘッダーファセットを返します(存在する場合)。 |
int | getRowCount() 基になるデータモデルの行数を返します。 |
ObjectSE | getRowData() 現在選択されている行インデックスのデータを表すデータオブジェクトがあれば、それを返します。 |
int | getRowIndex() 現在選択されている行のゼロ相対インデックスを返します。 |
int | getRows() 表示する行数を返すか、テーブルの残りのすべての行をゼロにします。 |
ObjectSE | getValue()UIData の値を返します。 |
StringSE | getVar() 反復時に現在の行のデータオブジェクトが公開される request-scope 属性を返します。 |
boolean | invokeOnComponent(FacesContext context, StringSE clientId, ContextCallback callback)UIComponentBase.invokeOnComponent(jakarta.faces.context.FacesContext, java.lang.String, jakarta.faces.component.ContextCallback) の動作をオーバーライドして、コンポーネントを見つけてそのコールバックを呼び出す前に、データを適切に配置するための特別な注意を提供します。 |
boolean | isRowAvailable() 現在の rowIndex で使用可能な rowData があるかどうかを示すフラグを返します。 |
boolean | isRowStatePreserved()
|
void | markInitialState()
|
void | processDecodes(FacesContext context) デフォルトの UIComponentBase.processDecodes(jakarta.faces.context.FacesContext) 処理をオーバーライドして、以下のステップを実行します。 |
void | processUpdates(FacesContext context) デフォルトの UIComponentBase.processUpdates(jakarta.faces.context.FacesContext) 処理をオーバーライドして、以下のステップを実行します。 |
void | processValidators(FacesContext context) デフォルトの |
void | queueEvent(FacesEvent event) デフォルトの UIComponentBase.queueEvent(jakarta.faces.event.FacesEvent) 処理をオーバーライドして、キューに入れられたイベントをラッパーでラップし、broadcast() の現在の行インデックスをリセットできるようにします。 |
void | restoreState(FacesContext context, ObjectSE state)state オブジェクトのエントリから状態を復元するために必要な処理を実行します。 |
ObjectSE | saveState(FacesContext context) インスタンスの状態を Serializable オブジェクトとして取得します。 |
protected void | setDataModel(DataModel dataModel) 内部 DataModel を設定します。 |
void | setFirst(int first) 表示する最初の行のゼロ相対行番号を設定します。 |
void | setFooter(UIComponent footer) このコンポーネントのフッターファセットを設定します。 |
void | setHeader(UIComponent header) このコンポーネントのヘッダーファセットを設定します。 |
void | setRowIndex(int rowIndex) 次のアルゴリズムを実装して、現在の行の相対インデックスをゼロに設定するか、現在行が選択されていないことを示す -1 を設定します。 |
void | setRows(int rows) 表示する行数を設定するか、テーブルの残りのすべての行をゼロに設定します。 |
void | setRowStatePreserved(boolean preserveComponentState) このプロパティが |
void | setValue(ObjectSE value)UIData の値を設定します。 |
void | setValueBinding(StringSE name, ValueBinding binding) 使用すべきではありません。 これは setValueExpression(java.lang.String, jakarta.el.ValueExpression) に置き換えられました。 |
void | setValueExpression(StringSE name, ValueExpression binding) 指定された属性またはプロパティ名がある場合は、その値の計算に使用される ValueExpression を設定します。 |
void | setVar(StringSE var) 反復時に現在の行のデータオブジェクトが公開される request-scope 属性を設定します。 |
boolean | visitTree(VisitContext context, VisitCallback callback) |
addClientBehavior, addFacesListener, clearInitialState, decode, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getPassThroughAttributes, getRenderer, getRendererType, getRendersChildren, getValueBinding, isRendered, isTransient, processRestoreState, processSaveState, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, subscribeToEvent, unsubscribeFromEventencodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInViewcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic UIData()
デフォルトのプロパティ値で新しい UIData インスタンスを作成します。
public StringSE getFamily()
UIComponent このコンポーネントが属するコンポーネントファミリの識別子を返します。この識別子は、rendererType プロパティの値と組み合わせて、このコンポーネントインスタンスに適切な Renderer を選択するために使用できます。このメソッドは null を返すべきではないことに注意してください
UIComponent の getFamily public int getFirst()
表示される最初の行のゼロ相対行番号を返します。
public void setFirst(int first)
表示する最初の行のゼロ相対行番号を設定します。
first - 新しい最初の行番号 IllegalArgumentExceptionSE - first が負の場合 public UIComponent getFooter()
このコンポーネントのフッターファセットを返します(存在する場合)。getFacet("footer") の便利なメソッド。
public void setFooter(UIComponent footer)
このコンポーネントのフッターファセットを設定します。getFacets().put("footer", footer) の便利なメソッド。
footer - 新しいフッターファセット NullPointerExceptionSE - footer が null の場合 public UIComponent getHeader()
このコンポーネントのヘッダーファセットを返します(存在する場合)。getFacet("header") の便利なメソッド。
public void setHeader(UIComponent header)
このコンポーネントのヘッダーファセットを設定します。getFacets().put("header", header) の便利なメソッド。
header - 新しいヘッダーファセット NullPointerExceptionSE - header が null の場合 public boolean isRowAvailable()
現在の rowIndex で使用可能な rowData があるかどうかを示すフラグを返します。wrappedData が利用できない場合は、false を返します。
FacesException - 行の可用性を取得するときにエラーが発生した場合 public int getRowCount()
基になるデータモデルの行数を返します。使用可能な行の数が不明な場合は、-1 を返します。
FacesException - 行数の取得中にエラーが発生した場合 public ObjectSE getRowData()
現在選択されている行インデックスのデータを表すデータオブジェクトがあれば、それを返します。
FacesException - 行データの取得中にエラーが発生した場合 IllegalArgumentExceptionSE - 現在指定されている行インデックスで行データが利用できる場合 public int getRowIndex()
現在選択されている行のゼロ相対インデックスを返します。現在列に配置されていない場合は、-1 を返します。このプロパティは、値バインディング式で は有効になっていません。
FacesException - 行インデックスの取得中にエラーが発生した場合 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 - 新しい行インデックス値、または関連する行がない場合は -1FacesException - 行インデックスの設定中にエラーが発生した場合 IllegalArgumentExceptionSE - rowIndex が -1 より小さい場合 public int getRows()
表示する行数を返すか、テーブルの残りのすべての行をゼロにします。このプロパティのデフォルト値はゼロです。
public void setRows(int rows)
表示する行数を設定するか、テーブルの残りのすべての行をゼロに設定します。
rows - 新しい行数 IllegalArgumentExceptionSE - rows が負の場合 public StringSE getVar()
反復時に現在の行のデータオブジェクトが公開される request-scope 属性を返します。このプロパティは、値バインディング式で は有効になっていません。
public void setVar(StringSE var)
反復時に現在の行のデータオブジェクトが公開される request-scope 属性を設定します。
var - 新しいリクエストスコープの属性名 public boolean isRowStatePreserved()
rowStatePreserved JavaBeans プロパティの値を返します。setRowStatePreserved(boolean) を参照してください。
rowStatePreserved の値。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 - 状態を保持する必要がある場合のフラグ。public ObjectSE getValue()
UIData の値を返します。この値は、型 DataModel であるか、DataModel に適合できる型である必要があります。UIData は、次の型を自動的に適応させます。
java.util.Listjava.sql.ResultSetjakarta.servlet.jsp.jstl.sql.Resultjava.util.Collection 他のすべての型は、ScalarDataModel クラスを使用して適合されます。このクラスは、オブジェクトを単一行のデータとして扱います。
public void setValue(ObjectSE value)
value - 新しい価値 @DeprecatedSE public void setValueBinding(StringSE name, ValueBinding binding)
setValueExpression(java.lang.String, jakarta.el.ValueExpression) に置き換えられました。 "name" が "value"、"var"、"rowIndex" 以外の場合は、ValueBinding から ValueExpression へのスーパークラス変換に依存します。
UIComponentBase の setValueBinding name - ValueBinding を設定する属性またはプロパティの名前 binding - 設定する ValueBinding、または現在設定されている ValueBinding を削除する null IllegalArgumentExceptionSE - name が id、parent、var、または rowIndex のいずれかである場合 NullPointerExceptionSE - name が null の場合 public void setValueExpression(StringSE name, ValueExpression binding)
指定された属性またはプロパティ名(存在する場合)の値を計算するために使用される ValueExpression を設定します。さらに、value プロパティに ValueExpression が設定されている場合は、このコンポーネントに以前にバインドされたデータの合成された DataModel をすべて削除します。
UIComponent の setValueExpression name - ValueExpression を設定する属性またはプロパティの名前 binding - 設定する ValueExpression、または現在設定されている ValueExpression を削除する null IllegalArgumentExceptionSE - name が id、parent、var、または rowIndex のいずれかである場合 NullPointerExceptionSE - name が null の場合 public StringSE getClientId(FacesContext context)
-1 に設定されていない場合は、rowIndex プロパティの現在の値を含むこのコンポーネントのクライアント識別子を返します。これは、getClientId() への複数の呼び出しが異なる結果を返す可能性があることを意味しますが、子コンポーネント自体が行固有のクライアント ID を生成できることを保証します(UIData は NamingContainer であるため)。
UIComponentBase の getClientId context - 現在のリクエストの FacesContextNullPointerExceptionSE - context が null の場合 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 を返してはなりません。
UIComponentBase の invokeOnComponent context - 現在のリクエストの FacesContextclientId - 引数コールバックに渡されるコンポーネントのクライアント識別子。callback - Callback インターフェースの実装。true 指定された clientId を持つコンポーネントが見つかった場合、そのコンポーネントを引数として渡してコールバックメソッドが正常に呼び出され、例外はスローされませんでした。指定された clientId のコンポーネントが見つからない場合、false を返します。NullPointerExceptionSE - いずれかの引数が null の場合 FacesException - 引数 Callback が例外をスローした場合、FacesException にラップされて再スローされます。引数 clientId から rowIndex を派生するときに例外がスローされた場合も、FacesException がスローされます。public void queueEvent(FacesEvent event)
デフォルトの UIComponentBase.queueEvent(jakarta.faces.event.FacesEvent) 処理をオーバーライドして、キューに入れられたイベントをラッパーでラップし、broadcast() の現在の行インデックスをリセットできるようにします。
UIComponentBase の queueEvent event - キューに入れられる FacesEventIllegalStateExceptionSE - このコンポーネントが UIViewRoot の子孫でない場合 NullPointerExceptionSE - event が null の場合 public void broadcast(FacesEvent event) throws AbortProcessingException
イベントが実際にブロードキャストされる前に、デフォルトの UIComponentBase.broadcast(jakarta.faces.event.FacesEvent) 処理をオーバーライドして、ラップされた FacesEvent をアンラップし、現在の行インデックスをリセットします。(queueEvent() で)ラップしなかったイベントの場合、デフォルトの処理が発生します。
UIComponentBase の broadcast event - 放送される FacesEventAbortProcessingException - Jakarta Server Faces 実装に、現在のイベントでこれ以上の処理を実行しないことを通知します IllegalArgumentExceptionSE - この FacesEvent の実装クラスがこのコンポーネントでサポートされていない場合 NullPointerExceptionSE - event が null の場合 public void encodeBegin(FacesContext context) throws IOExceptionSE
デフォルトの動作に加えて、現在のページをエラーで再レンダリングする必要がない限り、子入力コンポーネントの保存された行ごとの状態が破棄されることを確認してください。
UIComponentBase の encodeBegin context - 現在のリクエストの FacesContextIOExceptionSE - レンダリング中に入出力エラーが発生した場合 NullPointerExceptionSE - context が null の場合 public void processDecodes(FacesContext context)
デフォルトの UIComponentBase.processDecodes(jakarta.faces.context.FacesContext) 処理をオーバーライドして、以下のステップを実行します。
UIComponent の rendered プロパティが false の場合、以降の処理をスキップします。rowIndex を -1 に設定します。UIData のすべてのファセットの processDecodes() メソッドを、getFacets().keySet().iterator() の呼び出しによって決定された順序で呼び出します。UIData の UIColumn 子のすべてのファセットの processDecodes() メソッドを呼び出します。first および rows プロパティによって定義された行)を反復処理し、各行に対して次の処理を実行します。rowIndex を -1 に設定します。decode() メソッドを呼び出します。RuntimeException がスローされた場合は、FacesContext.renderResponse() を呼び出して例外を再スローします。UIComponentBase の processDecodes context - 現在のリクエストの FacesContextNullPointerExceptionSE - context が null の場合 public void processValidators(FacesContext context)
デフォルトの UIComponentBase.processValidators(jakarta.faces.context.FacesContext) 処理をオーバーライドして、以下のステップを実行します。
UIComponent の rendered プロパティが false の場合、以降の処理をスキップします。rowIndex を -1 に設定します。UIData のすべてのファセットの processValidators() メソッドを、getFacets().keySet().iterator() の呼び出しによって決定された順序で呼び出します。UIData の UIColumn 子のすべてのファセットの processValidators() メソッドを呼び出します。first および rows プロパティによって定義された行)を反復処理し、各行に対して次の処理を実行します。rowIndex を -1 に設定します。UIComponentBase の processValidators context - 現在のリクエストの FacesContextNullPointerExceptionSE - context が null の場合 PreValidateEvent, PostValidateEventpublic void processUpdates(FacesContext context)
デフォルトの UIComponentBase.processUpdates(jakarta.faces.context.FacesContext) 処理をオーバーライドして、以下のステップを実行します。
UIComponent の rendered プロパティが false の場合、以降の処理をスキップします。rowIndex を -1 に設定します。UIData のすべてのファセットの processUpdates() メソッドを、getFacets().keySet().iterator() の呼び出しによって決定された順序で呼び出します。UIData の UIColumn 子のすべてのファセットの processUpdates() メソッドを呼び出します。first および rows プロパティによって定義された行)を反復処理し、各行に対して次の処理を実行します。rowIndex を -1 に設定します。UIComponentBase の processUpdates context - 現在のリクエストの FacesContextNullPointerExceptionSE - context が null の場合 public StringSE createUniqueId(FacesContext context, StringSE seed)
UniqueIdVendorコンポーネントの識別子を生成します。識別子の前には UNIQUE_ID_PREFIX が付けられ、このコンポーネントコンテナー内で一意になります。オプションで、生成された一意の ID に含める必要のある一意のシード値をコンポーネントの作成者が提供できます。
UniqueIdVendor の createUniqueId context - FacesContextseed - オプションのシード値 - 例 VDL テンプレート内のコンポーネントの位置に基づく 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 にします。visitResult が VisitResult.COMPLETE の場合は、それ以上のアクションは実行せず、true を返します。それ以外の場合は、子を訪問する必要があるかどうかを判断します。デフォルトの実装では、引数として this を渡して VisitContext.getSubtreeIdsToVisit(jakarta.faces.component.UIComponent) を呼び出します。その呼び出しの結果が空でない場合は、doVisitChildren を true にします。doVisitChildren が true で、visitResult が VisitResult.ACCEPT の場合は、次のアクションを実行します。
このコンポーネントにファセットがある場合は、このインスタンスで UIComponent.getFacets() を呼び出し、values() メソッドを呼び出します。返された Map の UIComponent ごとに、UIComponent.visitTree(jakarta.faces.component.visit.VisitContext, jakarta.faces.component.visit.VisitCallback) を呼び出します。
このコンポーネントに子がある場合、UIColumn の子ごとに:
その UIColumn インスタンスで VisitContext.invokeVisitCallback(jakarta.faces.component.UIComponent, jakarta.faces.component.visit.VisitCallback) を呼び出します。そのような呼び出しが true を返す場合は、訪問を終了し、このメソッドから true を返します。
子 UIColumn にファセットがある場合は、それぞれで UIComponent.visitTree(jakarta.faces.component.visit.VisitContext, jakarta.faces.component.visit.VisitCallback) を呼び出します。
UIColumn 以外の子供には何もしません。
rowsToProcess を getRows() からの戻り値とします。
rowIndex を getFirst() - 1 からの戻り値とします。
処理される行数が rowsToProcess 未満の場合は、次のアクションを実行します。
setRowIndex(int) を呼び出し、現在の行インデックスを渡します。
isRowAvailable() が false を返す場合は、それ以上のアクションを実行せずに false を返します。
この UIColumn インスタンスの各子で UIComponent.visitTree(jakarta.faces.component.visit.VisitContext, jakarta.faces.component.visit.VisitCallback) を呼び出します。
UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext) を呼び出し、setRowIndex(int) を呼び出して、保存された行インデックスを復元します。
false を返して、訪問を続行できるようにします。
UIComponent の visitTree context - 訪問を実行するためのコンテキストを提供する VisitContext。callback - 訪問で検出されたノードごとに呼び出されるコールバック。true を返し、ツリーの訪問が完了したことを示す場合があります(訪問する必要のあるすべてのコンポーネントが訪問されたなど)。これにより、ツリーへのアクセスが短絡され、アクセスされるコンポーネントがなくなります。NullPointerExceptionSE - パラメーターのいずれかが null の場合。VisitContext.invokeVisitCallback()public void markInitialState()
StateManager.IS_BUILDING_INITIAL_STATE が true で 、このインスタンスの rowStatePreserved JavaBeans プロパティが true のときにメソッドが呼び出されている場合は、基本クラスのメソッドをオーバーライドして特別なアクションを実行します。
実行される追加のアクションは、特定の行の値に関係なく、子孫をトラバースして状態を保存することです。
PartialStateHolder の markInitialState UIComponentBase の markInitialState public void restoreState(FacesContext context, ObjectSE state)
StateHolderstate オブジェクトのエントリから状態を復元するために必要な処理を実行します。
このインターフェースを実装するクラスが、StateHolder も実装するインスタンスへの参照を持っている場合(イベントハンドラー、バリデーターなどを備えた UIComponent など)、このメソッドはそれらすべてのインスタンスで StateHolder.restoreState(jakarta.faces.context.FacesContext, java.lang.Object) メソッドも呼び出す必要があります。
state 引数が null の場合、アクションを実行せずに戻ります。
StateHolder の restoreState UIComponentBase の restoreState context - Faces コンテキスト。state - 状態。public ObjectSE saveState(FacesContext context)
StateHolder インスタンスの状態を Serializable オブジェクトとして取得します。
このインターフェースを実装するクラスが、StateHolder を実装するインスタンス(イベントハンドラー、バリデーターなどを含む UIComponent など)への参照を持っている場合、このメソッドはそれらすべてのインスタンスで StateHolder.saveState(jakarta.faces.context.FacesContext) メソッドも呼び出す必要があります。このメソッドは、子とファセットの状態を保存してはなりませんそれは StateManager を介して行われます
このメソッドは、実装オブジェクトの状態を変更してはなりません。つまり、このコードを実行した後:
Object state = component.saveState(facesContext);
component は、実行前と同じでなければなりません。
このメソッドからの戻り値は Serializable でなければなりません
StateHolder の saveState UIComponentBase の saveState context - Faces コンテキスト。protected DataModel getDataModel()
このコンポーネントのレンダリングで反復するデータオブジェクトを表す内部 DataModel オブジェクトを返します。
モデルが以前の setDataModel(jakarta.faces.model.DataModel) の呼び出しによってキャッシュされている場合は、それを返します。それ以外の場合は、getValue() を呼び出します。結果が null の場合は、空の ListDataModel を作成して返します。結果が DataModel のインスタンスである場合は、それを返します。それ以外の場合は、getValue() の説明に従って結果を適合させ、それを返します。
protected void setDataModel(DataModel dataModel)
内部 DataModel を設定します。この UIData インスタンスは、現在から setDataModel の次の呼び出しまで、指定された DataModel を内部値表現として使用する必要があります。指定された DataModel が null である場合、getDataModel() への次の呼び出しによって新しくリフレッシュされた DataModel の遅延インスタンス化が発生するように、内部 DataModel をリセットする必要があります。
サブクラスは、ビューの復元フェーズ中に内部 DataModel を復元する場合、またはレスポンスのレンダリングフェーズで現在の DataModel を明示的にリフレッシュする場合に、このメソッドを呼び出すことがあります。
dataModel - 新しい DataModel または null により、モデルがリフレッシュされます。Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.