クラス Renderer<T extends UIComponent>
- java.lang.ObjectSE
-
- jakarta.faces.render.Renderer<T>
- 型パラメーター:
T- コンポーネントクラス。
- 既知の直属サブクラス
RendererWrapper
public abstract class Renderer<T extends UIComponent> extends ObjectSE
レンダラーは、
UIComponentの内部表現を、特定のリクエストに対して作成するレスポンスに関連付けられた出力ストリーム(またはライター)に変換します。各Rendererは、1 つ以上のUIComponent型(またはクラス)をレンダリングする方法を知っており、サポートされている各UIComponentで認識する一連のレンダリング依存属性を通知します。RendererのファミリはRenderKitとしてパッケージ化され、FacesContextに関連付けられたビューですべてのUIComponentのレンダリングをサポートします。特定のRenderKitのRendererのセット内では、それぞれがrendererTypeプロパティによって一意に識別される必要があります。個々の
Rendererインスタンスは、レンダリングプロセス中にリクエストに応じてインスタンス化され、Web アプリケーションの存続期間の残りの間存在し続けます。各インスタンスは複数のリクエスト処理スレッドから同時に呼び出される可能性があるため、スレッドセーフなメソッドでプログラムする必要があります。ListenerForアノテーションがRendererのクラス定義にアタッチされている場合、そのクラスもComponentSystemEventListenerを実装する必要があり、ListenerForで説明されているRendererでのResourceDependencyの処理に関するアクションを実行する必要があります。ResourceDependencyアノテーションがRendererのクラス定義にアタッチされている場合、UIComponent.getChildren()で説明されているRendererでのResourceDependencyの処理に関連するアクションを実行する必要があります。ジェネリクスパラメーター T は、コンポーネントクラスを表します。
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static StringSEPASSTHROUGH_RENDERER_LOCALNAME_KEYコンポーネントパススルー属性内のキーは、コンポーネントに対応する要素の localName のMapです。
コンストラクターの概要
コンストラクター コンストラクター 説明 Renderer()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 StringSEconvertClientId(FacesContext context, StringSE clientId)コンポーネントが生成したクライアント ID を、クライアントへの送信に適した形式に変換します。voiddecode(FacesContext context, T component)voidencodeBegin(FacesContext context, T component)最初に指定されたUIComponentを、作成中のレスポンスに関連付けられた出力ストリームまたはライターにレンダリングします。voidencodeChildren(FacesContext context, T component)encodeBegin()で説明されている規則に従って、このUIComponentの子コンポーネントをレンダリングして、レンダリングする適切な値を取得します。voidencodeEnd(FacesContext context, T component)encodeBegin()で説明されている規則に従って、指定されたUIComponentの現在の状態の終了をレンダリングして、レンダリングする適切な値を取得します。ObjectSEgetConvertedValue(FacesContext context, UIComponent component, ObjectSE submittedValue)以前に格納された状態情報を、このコンポーネントに必要な型のオブジェクトに変換しようとします(オプションで、このコンポーネントに登録されているConverterがある場合は、それを使用します)。booleangetRendersChildren()このRendererが、レンダリングを要求されたコンポーネントの子をレンダリングする責任があるかどうかを示すフラグを返します。
メソッドの詳細
decode
public void decode(FacesContext context, T component)
指定された
FacesContextに含まれるリクエストから指定されたUIComponentの新しい状態をデコードし、その状態をUIComponentに格納します。デコード中、関連する
UIComponentでqueueEvent()を呼び出すことにより、(インタレストを登録したイベントリスナーによる)後の処理のためにイベントをキューに入れることができます。- パラメーター:
context-FacesContext(処理中のリクエスト)component- デコードされるUIComponent。- 例外:
NullPointerExceptionSE-contextまたはcomponentがnullの場合
encodeBegin
public void encodeBegin(FacesContext context, T component) throws IOExceptionSE
最初に指定された
UIComponentを、作成中のレスポンスに関連付けられた出力ストリームまたはライターにレンダリングします。このコンポーネントのgetConvertedValue()への以前の呼び出しで試行された変換が失敗した場合、decode()の実行中に保存された状態情報を使用して、誤った入力を再現する必要があります。- パラメーター:
context-FacesContext(処理中のリクエスト)component- レンダリングされるUIComponent- 例外:
IOExceptionSE- レンダリング中に入出力エラーが発生した場合NullPointerExceptionSE-contextまたはcomponentが null の場合
encodeChildren
public void encodeChildren(FacesContext context, T component) throws IOExceptionSE
encodeBegin()で説明されている規則に従って、このUIComponentの子コンポーネントをレンダリングして、レンダリングする適切な値を取得します。このメソッドは、このコンポーネントのrendersChildrenプロパティがtrueの場合にのみ呼び出されます。- パラメーター:
context-FacesContextは作成中のレスポンスcomponent- 子がレンダリングされるUIComponent- 例外:
IOExceptionSE- レンダリング中に入出力エラーが発生した場合NullPointerExceptionSE-contextまたはcomponentがnullの場合
encodeEnd
public void encodeEnd(FacesContext context, T component) throws IOExceptionSE
encodeBegin()で説明されている規則に従って、指定されたUIComponentの現在の状態の終了をレンダリングして、レンダリングする適切な値を取得します。- パラメーター:
context-FacesContextは作成中のレスポンスcomponent- レンダリングされるUIComponent- 例外:
IOExceptionSE- レンダリング中に入出力エラーが発生した場合NullPointerExceptionSE-contextまたはcomponentがnullの場合
convertClientId
public StringSE convertClientId(FacesContext context, StringSE clientId)
コンポーネントが生成したクライアント ID を、クライアントへの送信に適した形式に変換します。
デフォルトの実装では、引数
clientIdが変更されずに返されます。- パラメーター:
context- 現在のリクエストのFacesContextclientId- クライアント固有の形式に変換されるクライアント識別子。- 戻り値:
- 変換された
clientId - 例外:
NullPointerExceptionSE-contextまたはclientIdがnullの場合
getRendersChildren
public boolean getRendersChildren()
この
Rendererが、レンダリングを要求されたコンポーネントを子にレンダリングする責任があるかどうかを示すフラグを返します。デフォルトの実装はfalseを返します。- 戻り値:
- フラグの現在の値
getConvertedValue
public ObjectSE getConvertedValue(FacesContext context, UIComponent component, ObjectSE submittedValue) throws ConverterException
以前に保存された状態情報を、このコンポーネントに必要な型のオブジェクトに変換しようとします(オプションで、このコンポーネントに登録されている
Converterがあれば、それを使用します)。変換が成功した場合は、このメソッドから新しい値を返す必要があります。そうでない場合は、ConverterExceptionをスローする必要があります。- パラメーター:
context-FacesContext(処理中のリクエスト)component- デコードされるUIComponent。submittedValue-decode中にコンポーネントに保存された値。- 戻り値:
- 変換された値
- 例外:
ConverterException- 送信された値を正常に変換できない場合。NullPointerExceptionSE-contextまたはcomponentがnullの場合