パッケージ jakarta.faces.render

クラス 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 のレンダリングをサポートします。特定の RenderKitRenderer のセット内では、それぞれが rendererType プロパティによって一意に識別される必要があります。

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

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

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

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

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

    コンストラクター
    コンストラクター
    説明
  • 方法の概要

    修飾子と型
    メソッド
    説明
    コンポーネントが生成したクライアント ID を、クライアントへの送信に適した形式に変換します。
    void
    decode(FacesContext context, T component)
    指定された FacesContext に含まれるリクエストから指定された UIComponent の新しい状態をデコードし、その状態を UIComponent に格納します。
    void
    encodeBegin(FacesContext context, T component)
    最初に指定された UIComponent を、作成中のレスポンスに関連付けられた出力ストリームまたはライターにレンダリングします。
    void
    encodeChildren(FacesContext context, T component)
    encodeBegin() で説明されている規則に従って、この UIComponent の子コンポーネントをレンダリングして、レンダリングする適切な値を取得します。
    void
    encodeEnd(FacesContext context, T component)
    encodeBegin() で説明されている規則に従って、指定された UIComponent の現在の状態の終了をレンダリングして、レンダリングする適切な値を取得します。
    getConvertedValue(FacesContext context, T component, ObjectSE submittedValue)
    以前に格納された状態情報を、このコンポーネントに必要な型のオブジェクトに変換しようとします(オプションで、このコンポーネントに登録されている Converter がある場合は、それを使用します)。
    boolean
    この Renderer が、レンダリングを要求されたコンポーネントの子をレンダリングする責任があるかどうかを示すフラグを返します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • フィールドの詳細

    • 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, T component, ObjectSE submittedValue) throws ConverterException

      以前に保存された状態情報を、このコンポーネントに必要な型のオブジェクトに変換しようとします(オプションで、このコンポーネントに登録されている Converter があれば、それを使用します)。変換が成功した場合は、このメソッドから新しい値を返す必要があります。そうでない場合は、ConverterException をスローする必要があります。

      パラメーター:
      context - FacesContext(処理中のリクエスト)
      component - デコードされる UIComponent
      submittedValue - decode 中にコンポーネントに保存された値。
      戻り値:
      変換された値
      例外:
      ConverterException - 送信された値を正常に変換できない場合。
      NullPointerExceptionSE - context または component が null の場合