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, waitSE
public 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
- レンダリングされる UIComponent
IOExceptionSE
- レンダリング中に入出力エラーが発生した場合 NullPointerExceptionSE
- context
または component
が null の場合 public void encodeChildren(FacesContext context, UIComponent component) throws IOExceptionSE
encodeBegin()
で説明されている規則に従って、この UIComponent
の子コンポーネントをレンダリングして、レンダリングする適切な値を取得します。このメソッドは、このコンポーネントの rendersChildren
プロパティが true
の場合にのみ呼び出されます。
context
- FacesContext
は作成中のレスポンス component
- 子がレンダリングされる UIComponent
IOExceptionSE
- レンダリング中に入出力エラーが発生した場合 NullPointerExceptionSE
- context
または component
が null
の場合 public void encodeEnd(FacesContext context, UIComponent component) throws IOExceptionSE
encodeBegin()
で説明されている規則に従って、指定された UIComponent
の現在の状態の終了をレンダリングして、レンダリングする適切な値を取得します。
context
- FacesContext
は作成中のレスポンス component
- レンダリングされる UIComponent
IOExceptionSE
- レンダリング中に入出力エラーが発生した場合 NullPointerExceptionSE
- context
または component
が null
の場合 public StringSE convertClientId(FacesContext context, StringSE clientId)
コンポーネントが生成したクライアント ID を、クライアントへの送信に適した形式に変換します。
デフォルトの実装では、引数 clientId
が変更されずに返されます。
context
- 現在のリクエストの FacesContext
clientId
- クライアント固有の形式に変換されるクライアント識別子。clientId
NullPointerExceptionSE
- 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 © 2019 Eclipse Foundation.
Use is subject to license terms.