public abstract class RenderKit extends ObjectSE
RenderKit は、特定のクライアントの Jakarta Server Faces UIComponent
インスタンスをレンダリングする方法を一緒に知っている Renderer
インスタンスのコレクションを表します。通常、RenderKit
は、クライアントデバイス型、マークアップ言語、ユーザー Locale
の組み合わせに特化しています。RenderKit
は、関連する Renderer
インスタンスのファクトリとしても機能し、各コンポーネントの実際のレンダリングプロセスを実行します。
一般的な Jakarta Server Faces 実装では、Web アプリケーションの起動時に 1 つ以上の RenderKit
インスタンスを構成します。これらは、RenderKitFactory
の getRenderKit()
メソッドの呼び出しを通じて使用可能になります。RenderKit
インスタンスは共有されるため、スレッドセーフな方法で実装する必要があります。現在の仕様には制限があるため、同じアプリケーションで複数の RenderKit
インスタンスを使用するには、このケースに対処する方法を認識しているカスタム ViewHandler
インスタンスが必要です。この制限は、仕様の将来のバージョンで解除される予定です。
RenderKit
インスタンスは、ResponseStateManager
インスタンスも提供する必要があります。これは、ツリー構造と状態の保存と復元のプロセスで使用されます。
コンストラクターと説明 |
---|
RenderKit() |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
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 の場合 public abstract Renderer getRenderer(StringSE family, StringSE rendererType)
指定されたコンポーネント family
および rendererType
がある場合、最後に登録された Renderer
インスタンスを返します。それ以外の場合は、null
を返します。
family
- リクエストされた Renderer
インスタンスのコンポーネントファミリー rendererType
- リクエストされた Renderer
インスタンスのレンダラー型 Renderer
インスタンス NullPointerExceptionSE
- family
または rendererType
が null
の場合 public abstract ResponseStateManager getResponseStateManager()
ResponseStateManager
のインスタンスを返し、レンダリングテクノロジー固有の状態管理の決定を処理します。
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
で一致する文字エンコーディングが見つかりません。public abstract ResponseStream createResponseStream(OutputStreamSE out)
提供された OutputStream
を使用して、新しい ResponseStream
インスタンスを作成します。
out
- ResponseStream
を作成する OutputStream
ResponseStream
public IteratorSE<StringSE> getComponentFamilies()
この RenderKit
インスタンスでサポートされているコンポーネントファミリエントリに対して Iterator
を返します。
このメソッドのデフォルトの実装は、空の Iterator
を返します
Iterator
を返す public IteratorSE<StringSE> getRendererTypes(StringSE componentFamily)
指定されたコンポーネントファミリのレンダラー型エントリに対して Iterator
を返します。
指定された componentFamily
がこの RenderKit
実装に認識されていない場合は、空の Iterator
を返します。
このメソッドのデフォルトの実装は、空の Iterator
を返します
componentFamily
- getComponentFamilies()
によって返される Iterator
のメンバーの 1 つ。Iterator
public void addClientBehaviorRenderer(StringSE type, ClientBehaviorRenderer renderer)
指定されたコンポーネント type
に関連付けられた指定された ClientBehaviorRenderer
インスタンスを、この RenderKit
に登録された ClientBehaviorRenderer
のセットに登録し、この型の以前に登録された ClientBehaviorRenderer
を置き換えます。
type
- 登録する ClientBehaviorRenderer
の型 renderer
- 登録している ClientBehaviorRenderer
インスタンス NullPointerExceptionSE
- type
または renderer
が null の場合 public ClientBehaviorRenderer getClientBehaviorRenderer(StringSE type)
指定された type
に最後に登録された ClientBehaviorRenderer
インスタンスがあれば、それを返します。それ以外の場合は、null
を返します。
type
- リクエストされた ClientBehaviorRenderer
インスタンスの型 ClientBehaviorRenderer
インスタンス NullPointerExceptionSE
- type
が null
の場合 public IteratorSE<StringSE> getClientBehaviorRendererTypes()
ClientBehaviorRenderer
型の Iterator
を返します。
ClientBehaviorRenderer
上の Iterator
Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.