クラス ResponseWriter
- java.lang.ObjectSE
-
- java.io.WriterSE
-
- jakarta.faces.context.ResponseWriter
- 実装されたすべてのインターフェース:
CloseableSE
、FlushableSE
、AppendableSE
、AutoCloseableSE
- 既知の直属サブクラス
ResponseWriterWrapper
public abstract class ResponseWriter extends WriterSE
ResponseWriter は、文字ベースの出力の基礎となる出力メカニズムへのアダプターを記述する抽象クラスです。
java.io.Writer
から継承された低レベルのwrite()
メソッドに加えて、このクラスは、HTML や XML などのマークアップ言語の要素と属性を生成するのに役立つユーティリティメソッドを提供します。
コンストラクターのサマリー
コンストラクター コンストラクター 説明 ResponseWriter()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 abstract ResponseWriter
cloneWithWriter(WriterSE writer)
指定されたWriter
を出力先として使用して、このResponseWriter
の新しいインスタンスを作成して返します。void
endCDATA()
XMLCDATA
ブロックを閉じます。abstract void
endDocument()
レスポンスを終了するテキストを記述します。abstract void
endElement(StringSE name)
startElement()
の呼び出しによって作成された開いている要素を閉じた後、要素の終わりを書き込みます。abstract void
flush()
出力メソッドによってバッファリングされた出力を、基になるライターまたは OutputStream にフラッシュします。abstract StringSE
getCharacterEncoding()
このResponseWriter
の文字エンコーディング( "ISO-8859-1" など)を返します。abstract StringSE
getContentType()
このResponseWriter
のコンテンツ型("text/html" など)を返します。void
startCDATA()
XMLCDATA
ブロックを開きます。abstract void
startDocument()
レスポンスを開始するテキストを記述します。abstract void
startElement(StringSE name, UIComponent component)
要素名までの要素の開始を記述します。abstract void
writeAttribute(StringSE name, ObjectSE value, StringSE property)
そのテキストを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適切なエスケープを実行した後、属性名と対応する値を書き込みます。abstract void
writeComment(ObjectSE comment)
指定されたテキストを含むコメントを、そのテキストを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適切なエスケープを実行した後に書き込みます。void
writeDoctype(StringSE doctype)
マークアップ固有の doctype を含む文字列を書き込みます。void
writePreamble(StringSE preamble)
マークアップ固有のプリアンブルを含む文字列を記述します。abstract void
writeText(char[] text, int off, int len)
レンダリングされるマークアップ言語に適切なエスケープを実行した後、文字配列からテキストを書き込みます。void
writeText(ObjectSE text, UIComponent component, StringSE property)
オブジェクトを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、オブジェクトを記述します。abstract void
writeText(ObjectSE text, StringSE property)
オブジェクトを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、オブジェクトを記述します。abstract void
writeURIAttribute(StringSE name, ObjectSE value, StringSE property)
そのテキストを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエンコードまたはエスケープを実行した後、URI 属性名と対応する値を書き込みます。
メソッドの詳細
getContentType
public abstract StringSE getContentType()
この
ResponseWriter
のコンテンツ型("text/html" など)を返します。注: これには "charset =" サフィックスを含めないでください。- 戻り値:
- コンテンツ型
getCharacterEncoding
public abstract StringSE getCharacterEncoding()
この
ResponseWriter
の文字エンコーディング( "ISO-8859-1" など)を返します。文字エンコーディングのリストについては、IANA を参照してください。- 戻り値:
- 文字エンコーディング
flush
public abstract void flush() throws IOExceptionSE
出力メソッドによってバッファリングされた出力を、基になるライターまたは OutputStream にフラッシュします。このメソッドは、基になる Writer または OutputStream をフラッシュしません。この
ResponseWriter
によってバッファされた値をクリアするだけです。- 次で指定:
- インターフェース
FlushableSE
のflush
- 次で指定:
- クラス
WriterSE
のflush
- 例外:
IOExceptionSE
startDocument
public abstract void startDocument() throws IOExceptionSE
レスポンスを開始するテキストを記述します。
- 例外:
IOExceptionSE
- 入出力エラーが発生した場合
endDocument
public abstract void endDocument() throws IOExceptionSE
レスポンスを終了するテキストを記述します。
startElement()
の呼び出しによって作成された開いている要素がある場合、その要素は最初に閉じられます。- 例外:
IOExceptionSE
- 入出力エラーが発生した場合
startElement
public abstract void startElement(StringSE name, UIComponent component) throws IOExceptionSE
要素名までの要素の開始を記述します。このメソッドが呼び出されると、クライアントは
writeAttribute()
またはwriteURIAttribute()
メソッドを呼び出して、属性と対応する値を追加できます。startElement()
、writeComment()
、writeText()
、endElement()
、endDocument()
、close()
、flush()
またはwrite()
への後続の呼び出しでは、開始要素は閉じられます(つまり、末尾の ">" 文字が追加されます)。引数コンポーネントのパススルー属性にシンボリック定数
Renderer.PASSTHROUGH_RENDERER_LOCALNAME_KEY
の値で指定された名前の属性が含まれている場合、このメソッドに最初のパラメーターとして渡される値の代わりに、それを要素名として使用します。このコンポーネントの他のパススルー属性がレンダリングされるときにこの値もレンダリングされないように注意する必要があります。- パラメーター:
name
- 開始する要素の名前component
- この要素が対応するUIComponent
(存在する場合)。このコンポーネントは、標準の HTML_BASICRenderKit
仕様に従って、通過属性についてインスペクションされます。- 例外:
IOExceptionSE
- 入出力エラーが発生した場合NullPointerExceptionSE
-name
がnull
の場合
endElement
public abstract void endElement(StringSE name) throws IOExceptionSE
startElement()
の呼び出しによって作成された開いている要素を閉じた後、要素の終わりを書き込みます。要素は、開かれたときとは逆の順序で閉じる必要があります。そうしないとエラーになります。引数コンポーネントのパススルー属性に、シンボリック定数
Renderer.PASSTHROUGH_RENDERER_LOCALNAME_KEY
の値で指定された名前の属性が含まれている場合は、このメソッドに最初のパラメーターとして渡される値ではなく、それを要素名として使用します。- パラメーター:
name
- 終了する要素の名前- 例外:
IOExceptionSE
- 入出力エラーが発生した場合NullPointerExceptionSE
-name
がnull
の場合
writeAttribute
public abstract void writeAttribute(StringSE name, ObjectSE value, StringSE property) throws IOExceptionSE
そのテキストを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、属性名と対応する値を書き込みます。このメソッドは、
startElement()
の呼び出し後、開かれた要素が閉じられる前にのみ呼び出すことができます。- パラメーター:
name
- 追加する属性名value
- 追加する属性値property
- この生成された属性が対応する、包含要素に関連付けられたUIComponent
のプロパティまたは属性(存在する場合)の名前- 例外:
IllegalStateExceptionSE
- 現在開いている要素がないときにこのメソッドが呼び出された場合IOExceptionSE
- 入出力エラーが発生した場合NullPointerExceptionSE
-name
がnull
の場合
writeURIAttribute
public abstract void writeURIAttribute(StringSE name, ObjectSE value, StringSE property) throws IOExceptionSE
そのテキストを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエンコードまたはエスケープを実行した後、URI 属性名と対応する値を書き込みます。WWW 環境でレンダリングする場合は、W3CURI 仕様書 <http://www.w3.org/Addressing/URL/uri-spec.html> で確立されているエスケープ規則に従う必要があります。特に、スペース '' は、プラス文字 '+' ではなく %20 としてエンコードする必要があります。このメソッドは、
startElement()
の呼び出し後、開かれた要素が閉じられる前にのみ呼び出すことができます。- パラメーター:
name
- 追加する属性名value
- 追加する属性値property
- この生成された属性が対応する、包含要素に関連付けられたUIComponent
のプロパティまたは属性(存在する場合)の名前- 例外:
IllegalStateExceptionSE
- 現在開いている要素がないときにこのメソッドが呼び出された場合IOExceptionSE
- 入出力エラーが発生した場合NullPointerExceptionSE
-name
がnull
の場合
startCDATA
public void startCDATA() throws IOExceptionSE
XML
CDATA
ブロックを開きます。XML はネストされたCDATA
ブロックを許可しないことに注意してください。ただし、このメソッドはその制約を強制しません。このメソッドのデフォルトの実装は、呼び出されてもアクションを実行しません。- 例外:
IOExceptionSE
- 入出力エラーが発生した場合
endCDATA
public void endCDATA() throws IOExceptionSE
XML
CDATA
ブロックを閉じます。このメソッドのデフォルトの実装は、呼び出されてもアクションを実行しません。- 例外:
IOExceptionSE
- 入出力エラーが発生した場合
writeComment
public abstract void writeComment(ObjectSE comment) throws IOExceptionSE
指定されたテキストを文字列に変換した後(必要な場合)、およびレンダリングされるマークアップ言語に適したエスケープを実行した後、指定されたテキストを含むコメントを記述します。
startElement()
の呼び出しによって作成された開いている要素がある場合、その要素が最初に閉じられます。- パラメーター:
comment
- コメントのテキストコンテンツ- 例外:
IOExceptionSE
- 入出力エラーが発生した場合NullPointerExceptionSE
-comment
がnull
の場合
writePreamble
public void writePreamble(StringSE preamble) throws IOExceptionSE
マークアップ固有のプリアンブルを含む文字列を記述します。エスケープは実行されません。デフォルトの実装では、
Writer.write(java.lang.String)
SE を呼び出すだけです。実装は、これがプリアンブルを持つレスポンスの正しい場所であるかどうかをチェックしません。また、プリアンブルが複数回書き込まれるのを防ぎません。
- パラメーター:
preamble
- プリアンブルのテキストコンテンツ- 例外:
IOExceptionSE
- 入出力エラーが発生した場合- 導入:
- 2.2
writeDoctype
public void writeDoctype(StringSE doctype) throws IOExceptionSE
マークアップ固有の Doctype を含む文字列を記述します。エスケープは実行されません。デフォルトの実装では、
Writer.write(java.lang.String)
SE を呼び出すだけです。実装は、これが doctype を持つレスポンスの正しい場所であるかどうかをチェックしません。また、doctype が複数回書き込まれるのを防ぎません。
- パラメーター:
doctype
- Doctype のテキストコンテンツ- 例外:
IOExceptionSE
- 入出力エラーが発生した場合- 導入:
- 2.2
writeText
public abstract void writeText(ObjectSE text, StringSE property) throws IOExceptionSE
オブジェクトを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、オブジェクトを記述します。
startElement()
の呼び出しによって作成された開いている要素がある場合、その要素が最初に閉じられます。- パラメーター:
text
- 書かれるテキストproperty
- この生成されたテキストが対応する、包含要素に関連付けられたUIComponent
のプロパティまたは属性(存在する場合)の名前- 例外:
IOExceptionSE
- 入出力エラーが発生した場合NullPointerExceptionSE
-text
がnull
の場合
writeText
public void writeText(ObjectSE text, UIComponent component, StringSE property) throws IOExceptionSE
オブジェクトを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、オブジェクトを記述します。このメソッドは
writeText(java.lang.Object,java.lang.String)
と同等ですが、component
プロパティを追加して、カスタムResponseWriter
実装がコンポーネントをテキストの任意の部分に関連付けることができるようにします。デフォルトの実装では、
component
引数が無視され、writeText(java.lang.Object,java.lang.String)
が呼び出されます。- パラメーター:
text
- 書かれるテキストcomponent
- この要素が対応するUIComponent
(存在する場合)property
- この生成されたテキストが対応する、包含要素に関連付けられたUIComponent
のプロパティまたは属性(存在する場合)の名前- 例外:
IOExceptionSE
- 入出力エラーが発生した場合NullPointerExceptionSE
-text
がnull
の場合- 導入:
- 1.2
writeText
public abstract void writeText(char[] text, int off, int len) throws IOExceptionSE
レンダリングされるマークアップ言語に適したエスケープを実行した後、文字配列からテキストを書き込みます。
startElement()
の呼び出しによって作成された開いている要素がある場合、その要素が最初に閉じられます。- パラメーター:
text
- 書かれるテキストoff
- 開始オフセット (zero-relative)len
- 書き込む文字数- 例外:
IndexOutOfBoundsExceptionSE
- 計算された開始位置または終了位置が文字配列の境界外にある場合IOExceptionSE
- 入出力エラーが発生した場合NullPointerExceptionSE
-text
がnull
の場合
cloneWithWriter
public abstract ResponseWriter cloneWithWriter(WriterSE writer)
指定された
Writer
を出力先として使用して、このResponseWriter
の新しいインスタンスを作成して返します。- パラメーター:
writer
- 出力先であるWriter
- 戻り値:
- 新しい
ResponseWriter