パッケージ jakarta.faces.render

クラス Renderer<T extends UIComponent>

  • 型パラメーター:
    T - コンポーネントクラス。
    既知の直属サブクラス
    RendererWrapper

    public abstract class Renderer<T extends UIComponent>
    extends ObjectSE

    レンダラーは、UIComponent の内部表現を、特定のリクエストに対して作成するレスポンスに関連付けられた出力ストリーム(またはライター)に変換します。各 Renderer は、1 つ以上の UIComponent 型(またはクラス)をレンダリングする方法を知っており、サポートされている各 UIComponent で認識する一連のレンダリング依存属性を通知します。

    Renderer のファミリは RenderKit としてパッケージ化され、FacesContext に関連付けられたビューですべての UIComponent のレンダリングをサポートします。特定の RenderKitRenderer のセット内では、それぞれが rendererType プロパティによって一意に識別される必要があります。

    個々の Renderer インスタンスは、レンダリングプロセス中にリクエストに応じてインスタンス化され、Web アプリケーションの存続期間の残りの間存在し続けます。各インスタンスは複数のリクエスト処理スレッドから同時に呼び出される可能性があるため、スレッドセーフなメソッドでプログラムする必要があります。

    ListenerFor アノテーションが Renderer のクラス定義にアタッチされている場合、そのクラスも ComponentSystemEventListener を実装する必要があり、ListenerFor で説明されている Renderer での ResourceDependency の処理に関するアクションを実行する必要があります。

    ResourceDependency アノテーションが Renderer のクラス定義にアタッチされている場合、UIComponent.getChildren() で説明されている Renderer での ResourceDependency の処理に関連するアクションを実行する必要があります。

    ジェネリクスパラメーター T は、コンポーネントクラスを表します。
    • フィールドサマリー

      フィールド  
      修飾子と型 フィールド 説明
      static StringSEPASSTHROUGH_RENDERER_LOCALNAME_KEY
      コンポーネントパススルー属性内のキーは、コンポーネントに対応する要素の localName の Map です。
    • コンストラクターのサマリー

      コンストラクター  
      コンストラクター 説明
      Renderer()
    • フィールドの詳細

      • PASSTHROUGH_RENDERER_LOCALNAME_KEY

        public static final StringSE PASSTHROUGH_RENDERER_LOCALNAME_KEY

        コンポーネントパススルー属性内のキーは、コンポーネントに対応する要素の localName の Map です。

        導入:
        2.2
        関連事項:
        定数フィールド値
    • コンストラクターの詳細

      • Renderer

        public 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 の場合