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