クラス 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 StringSE
PASSTHROUGH_RENDERER_LOCALNAME_KEY
コンポーネントパススルー属性内のキーは、コンポーネントに対応する要素の localName のMap
です。
コンストラクターのサマリー
コンストラクター コンストラクター 説明 Renderer()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 StringSE
convertClientId(FacesContext context, StringSE clientId)
コンポーネントが生成したクライアント ID を、クライアントへの送信に適した形式に変換します。void
decode(FacesContext context, T component)
void
encodeBegin(FacesContext context, T component)
最初に指定されたUIComponent
を、作成中のレスポンスに関連付けられた出力ストリームまたはライターにレンダリングします。void
encodeChildren(FacesContext context, T component)
encodeBegin()
で説明されている規則に従って、このUIComponent
の子コンポーネントをレンダリングして、レンダリングする適切な値を取得します。void
encodeEnd(FacesContext context, T component)
encodeBegin()
で説明されている規則に従って、指定されたUIComponent
の現在の状態の終了をレンダリングして、レンダリングする適切な値を取得します。ObjectSE
getConvertedValue(FacesContext context, UIComponent component, ObjectSE submittedValue)
以前に格納された状態情報を、このコンポーネントに必要な型のオブジェクトに変換しようとします(オプションで、このコンポーネントに登録されているConverter
がある場合は、それを使用します)。boolean
getRendersChildren()
この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
- 現在のリクエストのFacesContext
clientId
- クライアント固有の形式に変換されるクライアント識別子。- 戻り値:
- 変換された
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
の場合