パッケージ jakarta.faces.render

クラス RenderKit

java.lang.ObjectSE
jakarta.faces.render.RenderKit
既知の直属サブクラス
RenderKitWrapper

public abstract class RenderKit extends ObjectSE

RenderKit は、特定のクライアントの Jakarta Faces UIComponent インスタンスをレンダリングする方法を一緒に知っている Renderer インスタンスのコレクションを表します。通常、RenderKit は、クライアントデバイス型、マークアップ言語、ユーザー Locale の組み合わせに特化しています。RenderKit は、関連する Renderer インスタンスのファクトリとしても機能し、各コンポーネントの実際のレンダリングプロセスを実行します。

一般的な Jakarta Faces 実装では、Web アプリケーションの起動時に 1 つ以上の RenderKit インスタンスを構成します。これらは、RenderKitFactory の getRenderKit() メソッドの呼び出しを通じて使用可能になります。RenderKit インスタンスは共有されるため、スレッドセーフな方法で実装する必要があります。現在の仕様には制限があるため、同じアプリケーションで複数の RenderKit インスタンスを使用するには、このケースに対処する方法を認識しているカスタム ViewHandler インスタンスが必要です。この制限は、仕様の将来のバージョンで解除される予定です。

RenderKit インスタンスは、ResponseStateManager インスタンスも提供する必要があります。これは、ツリー構造と状態の保存と復元のプロセスで使用されます。

  • コンストラクターの詳細

    • RenderKit

      public RenderKit()
  • メソッドの詳細

    • addRenderer

      public abstract void addRenderer(StringSE family, StringSE rendererType, Renderer renderer)

      指定されたコンポーネント family および rendererType に関連付けられた指定された Renderer インスタンスを、この RenderKit に登録された Renderer のセットに登録し、この識別子の組み合わせに対して以前に登録された Renderer を置き換えます。

      パラメーター:
      family - 登録する Renderer のコンポーネントファミリ
      rendererType - 登録する Renderer のレンダラー型
      renderer - 登録している Renderer インスタンス
      例外:
      NullPointerExceptionSE - family または rendererType または renderer が null の場合
    • getRenderer

      public abstract Renderer getRenderer(StringSE family, StringSE rendererType)

      指定されたコンポーネント family および rendererType がある場合、最後に登録された Renderer インスタンスを返します。それ以外の場合は、null を返します。

      パラメーター:
      family - リクエストされた Renderer インスタンスのコンポーネントファミリー
      rendererType - リクエストされた Renderer インスタンスのレンダラー型
      戻り値:
      Renderer インスタンス
      例外:
      NullPointerExceptionSE - family または rendererType が null の場合
    • getResponseStateManager

      public abstract ResponseStateManager getResponseStateManager()

      ResponseStateManager のインスタンスを返し、レンダリングテクノロジー固有の状態管理の決定を処理します。

      戻り値:
      ResponseStateManager
    • createResponseWriter

      public abstract ResponseWriter createResponseWriter(WriterSE writer, StringSE contentTypeList, StringSE characterEncoding)

      提供された Writer を使用して、指定された(オプションの)コンテンツ型と文字エンコーディングの新しい ResponseWriter インスタンスを作成します。

      実装者は、このメソッドの characterEncoding に必要な値を取得するために、クラス ServletResponse の getCharacterEncoding() メソッドを参照することをお勧めします。このレスポンスの Writer はすでに取得されているため (最終的にこのメソッドに渡されるため)、レスポンスのレンダリング中に文字エンコーディングを変更できないことがわかります。

      パラメーター:
      writer - この ResponseWriter を構築する必要があるライター。
      contentTypeList - このレスポンスのコンテンツ型の「ヘッダースタイルを受け入れる」リスト、または RenderKit が最適なものを選択する必要がある場合は null。現在のバージョンでは、このパラメーターの標準レンダーキットで受け入れられる値には、文字列 text/htmlapplication/xhtml+xmlapplication/xml または text/xml を含む有効な「ヘッダースタイルの受け入れ」文字列が含まれています。これは将来のバージョンで変更される可能性があります。RenderKit は、Accept HTTP ヘッダーから直接取得されるこの引数の値をサポートする必要があるため、Accept ヘッダーの仕様に従って解析する必要があります。Accept ヘッダーの仕様については、RFC 2616 のセクション 14.1 を参照してください。
      characterEncoding - この ResponseWriter の場合は "ISO-8859-1"、RenderKit が最適なものを選択する場合は null など。文字エンコーディングのリストについては、IANA を参照してください。
      戻り値:
      新しい ResponseWriter
      例外:
      IllegalArgumentExceptionSE - contentTypeList で一致するコンテンツ型が見つからない場合、実装に依存する最適化アルゴリズムで適切なコンテンツ型が見つからないか、引数 characterEncoding で一致する文字エンコーディングが見つかりません。
    • createResponseStream

      public abstract ResponseStream createResponseStream(OutputStreamSE out)

      提供された OutputStream を使用して、新しい ResponseStream インスタンスを作成します。

      パラメーター:
      out - ResponseStream を作成する OutputStream 
      戻り値:
      新しい ResponseStream
    • getComponentFamilies

      public IteratorSE<StringSE> getComponentFamilies()

      この RenderKit インスタンスでサポートされているコンポーネントファミリエントリに対して Iterator を返します。

      このメソッドのデフォルトの実装は、空の Iterator を返します

      戻り値:
      コンポーネントファミリエントリに対して Iterator を返す
      導入:
      2.0
    • getRendererTypes

      public IteratorSE<StringSE> getRendererTypes(StringSE componentFamily)

      指定されたコンポーネントファミリのレンダラー型エントリに対して Iterator を返します。

      指定された componentFamily がこの RenderKit 実装に認識されていない場合は、空の Iterator を返します。

      このメソッドのデフォルトの実装は、空の Iterator を返します

      パラメーター:
      componentFamily - getComponentFamilies() によって返される Iterator のメンバーの 1 つ。
      戻り値:
      レンダラー型上の Iterator 
      導入:
      2.0
    • addClientBehaviorRenderer

      public void addClientBehaviorRenderer(StringSE type, ClientBehaviorRenderer renderer)

      指定されたコンポーネント type に関連付けられた指定された ClientBehaviorRenderer インスタンスを、この RenderKit に登録された ClientBehaviorRenderer のセットに登録し、この型の以前に登録された ClientBehaviorRenderer を置き換えます。

      パラメーター:
      type - 登録する ClientBehaviorRenderer の型
      renderer - 登録している ClientBehaviorRenderer インスタンス
      例外:
      NullPointerExceptionSE - type または renderer が null の場合
      導入:
      2.0
    • getClientBehaviorRenderer

      public ClientBehaviorRenderer getClientBehaviorRenderer(StringSE type)

      指定された type に最後に登録された ClientBehaviorRenderer インスタンスがあれば、それを返します。それ以外の場合は、null を返します。

      パラメーター:
      type - リクエストされた ClientBehaviorRenderer インスタンスの型
      戻り値:
      ClientBehaviorRenderer インスタンス
      例外:
      NullPointerExceptionSE - type が null の場合
      導入:
      2.0
    • getClientBehaviorRendererTypes

      public IteratorSE<StringSE> getClientBehaviorRendererTypes()

      ClientBehaviorRenderer 型の Iterator を返します。

      戻り値:
      ClientBehaviorRenderer 上の Iterator 
      導入:
      2.0