クラス 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()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 void
addClientBehaviorRenderer(StringSE type, ClientBehaviorRenderer renderer)
指定されたコンポーネントtype
に関連付けられた指定されたClientBehaviorRenderer
インスタンスを、このRenderKit
に登録されたClientBehaviorRenderer
のセットに登録し、この型の以前に登録されたClientBehaviorRenderer
を置き換えます。abstract void
addRenderer(StringSE family, StringSE rendererType, Renderer renderer)
abstract ResponseStream
createResponseStream(OutputStreamSE out)
提供されたOutputStream
を使用して、新しいResponseStream
インスタンスを作成します。abstract ResponseWriter
createResponseWriter(WriterSE writer, StringSE contentTypeList, StringSE characterEncoding)
提供されたWriter
を使用して、指定された(オプションの)コンテンツ型と文字エンコーディングの新しいResponseWriter
インスタンスを作成します。ClientBehaviorRenderer
getClientBehaviorRenderer(StringSE type)
IteratorSE<StringSE>
getClientBehaviorRendererTypes()
ClientBehaviorRenderer
型のIterator
を返します。IteratorSE<StringSE>
getComponentFamilies()
このRenderKit
インスタンスでサポートされているコンポーネントファミリエントリに対してIterator
を返します。abstract Renderer
getRenderer(StringSE family, StringSE rendererType)
IteratorSE<StringSE>
getRendererTypes(StringSE componentFamily)
指定されたコンポーネントファミリのレンダラー型エントリに対してIterator
を返します。abstract ResponseStateManager
getResponseStateManager()
ResponseStateManager
のインスタンスを返し、レンダリングテクノロジー固有の状態管理の決定を処理します。
メソッドの詳細
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
のインスタンスを返し、レンダリングテクノロジー固有の状態管理の決定を処理します。
createResponseWriter
public abstract ResponseWriter createResponseWriter(WriterSE writer, StringSE contentTypeList, StringSE characterEncoding)
提供された
Writer
を使用して、指定された(オプションの)コンテンツ型と文字エンコーディングの新しいResponseWriter
インスタンスを作成します。実装者は、このメソッドの characterEncoding に必要な値を取得するために、クラス
ServletResponse
のgetCharacterEncoding()
メソッドを参照することをお勧めします。このレスポンスのWriter
はすでに取得されているため (最終的にこのメソッドに渡されるため)、レスポンスのレンダリング中に文字エンコーディングを変更できないことがわかります。- パラメーター:
writer
- このResponseWriter
を構築する必要があるライター。contentTypeList
- このレスポンスのコンテンツ型の「ヘッダースタイルを受け入れる」リスト、または RenderKit が最適なものを選択する必要がある場合はnull
。現在のバージョンでは、このパラメーターの標準レンダーキットで受け入れられる値には、文字列text/html
、application/xhtml+xml
、application/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