public abstract class Renderer 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 の処理に関連するアクションを実行する必要があります。
| 修飾子と型 | フィールドと説明 |
|---|---|
static StringSE | PASSTHROUGH_RENDERER_LOCALNAME_KEY コンポーネントパススルー属性内のキーは、コンポーネントに対応する要素の localName の |
| コンストラクターと説明 |
|---|
Renderer() |
| 修飾子と型 | メソッドと説明 |
|---|---|
StringSE | convertClientId(FacesContext context, StringSE clientId) コンポーネントが生成したクライアント ID を、クライアントへの送信に適した形式に変換します。 |
void | decode(FacesContext context, UIComponent component) |
void | encodeBegin(FacesContext context, UIComponent component) 最初に指定された UIComponent を、作成中のレスポンスに関連付けられた出力ストリームまたはライターにレンダリングします。 |
void | encodeChildren(FacesContext context, UIComponent component)encodeBegin() で説明されている規則に従って、この UIComponent の子コンポーネントをレンダリングして、レンダリングする適切な値を取得します。 |
void | encodeEnd(FacesContext context, UIComponent component)encodeBegin() で説明されている規則に従って、指定された UIComponent の現在の状態の終了をレンダリングして、レンダリングする適切な値を取得します。 |
ObjectSE | getConvertedValue(FacesContext context, UIComponent component, ObjectSE submittedValue) 以前に格納された状態情報を、このコンポーネントに必要な型のオブジェクトに変換しようとします(オプションで、このコンポーネントに登録されている Converter がある場合は、それを使用します)。 |
boolean | getRendersChildren() この Renderer が、レンダリングを要求されたコンポーネントの子をレンダリングする責任があるかどうかを示すフラグを返します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic void decode(FacesContext context, UIComponent component)
指定された FacesContext に含まれるリクエストから指定された UIComponent の新しい状態をデコードし、その状態を UIComponent に格納します。
デコード中、関連する UIComponent で queueEvent() を呼び出すことにより、(インタレストを登録したイベントリスナーによる)後の処理のためにイベントをキューに入れることができます。
context - FacesContext(処理中のリクエスト)component - デコードされる UIComponent。NullPointerExceptionSE - context または component が null の場合 public void encodeBegin(FacesContext context, UIComponent component) throws IOExceptionSE
最初に指定された UIComponent を、作成中のレスポンスに関連付けられた出力ストリームまたはライターにレンダリングします。このコンポーネントの getConvertedValue() への以前の呼び出しで試行された変換が失敗した場合、decode() の実行中に保存された状態情報を使用して、誤った入力を再現する必要があります。
context - FacesContext(処理中のリクエスト)component - レンダリングされる UIComponentIOExceptionSE - レンダリング中に入出力エラーが発生した場合 NullPointerExceptionSE - context または component が null の場合 public void encodeChildren(FacesContext context, UIComponent component) throws IOExceptionSE
encodeBegin() で説明されている規則に従って、この UIComponent の子コンポーネントをレンダリングして、レンダリングする適切な値を取得します。このメソッドは、このコンポーネントの rendersChildren プロパティが true の場合にのみ呼び出されます。
context - FacesContext は作成中のレスポンス component - 子がレンダリングされる UIComponentIOExceptionSE - レンダリング中に入出力エラーが発生した場合 NullPointerExceptionSE - context または component が null の場合 public void encodeEnd(FacesContext context, UIComponent component) throws IOExceptionSE
encodeBegin() で説明されている規則に従って、指定された UIComponent の現在の状態の終了をレンダリングして、レンダリングする適切な値を取得します。
context - FacesContext は作成中のレスポンス component - レンダリングされる UIComponentIOExceptionSE - レンダリング中に入出力エラーが発生した場合 NullPointerExceptionSE - context または component が null の場合 public StringSE convertClientId(FacesContext context, StringSE clientId)
コンポーネントが生成したクライアント ID を、クライアントへの送信に適した形式に変換します。
デフォルトの実装では、引数 clientId が変更されずに返されます。
context - 現在のリクエストの FacesContextclientId - クライアント固有の形式に変換されるクライアント識別子。clientIdNullPointerExceptionSE - context または clientId が null の場合 public boolean getRendersChildren()
この Renderer が、レンダリングを要求されたコンポーネントを子にレンダリングする責任があるかどうかを示すフラグを返します。デフォルトの実装は false を返します。
public ObjectSE getConvertedValue(FacesContext context, UIComponent component, ObjectSE submittedValue) throws ConverterException
以前に保存された状態情報を、このコンポーネントに必要な型のオブジェクトに変換しようとします(オプションで、このコンポーネントに登録されている Converter があれば、それを使用します)。変換が成功した場合は、このメソッドから新しい値を返す必要があります。そうでない場合は、ConverterException をスローする必要があります。
context - FacesContext(処理中のリクエスト)component - デコードされる UIComponent。submittedValue - decode 中にコンポーネントに保存された値。ConverterException - 送信された値を正常に変換できない場合。NullPointerExceptionSE - context または component が null の場合 Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.