クラス ResponseWriter
- 実装されているすべてのインターフェース:
CloseableSE、FlushableSE、AppendableSE、AutoCloseableSE
- 既知の直属サブクラス
ResponseWriterWrapper
ResponseWriter は、文字ベースの出力の基礎となる出力メカニズムへのアダプターを記述する抽象クラスです。java.io.Writer から継承された低レベルの write() メソッドに加えて、このクラスは、HTML や XML などのマークアップ言語の要素と属性を生成するのに役立つユーティリティメソッドを提供します。
フィールドのサマリー
コンストラクターの概要
コンストラクター方法の概要
修飾子と型メソッド説明abstract ResponseWritercloneWithWriter(WriterSE writer) 指定されたWriterを出力先として使用して、このResponseWriterの新しいインスタンスを作成して返します。voidendCDATA()XMLCDATAブロックを閉じます。abstract voidレスポンスを終了するテキストを記述します。abstract voidendElement(StringSE name) startElement()の呼び出しによって作成された開いている要素を閉じた後、要素の終わりを書き込みます。abstract voidflush()出力メソッドによってバッファリングされた出力を、基になるライターまたは OutputStream にフラッシュします。abstract StringSEこのResponseWriterの文字エンコーディング( "ISO-8859-1" など)を返します。abstract StringSEこのResponseWriterのコンテンツ型("text/html" など)を返します。voidXMLCDATAブロックを開きます。abstract voidレスポンスを開始するテキストを記述します。abstract voidstartElement(StringSE name, UIComponent component) 要素名までの要素の開始を記述します。abstract voidwriteAttribute(StringSE name, ObjectSE value, StringSE property) そのテキストを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適切なエスケープを実行した後、属性名と対応する値を書き込みます。abstract voidwriteComment(ObjectSE comment) 指定されたテキストを含むコメントを、そのテキストを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適切なエスケープを実行した後に書き込みます。voidwriteDoctype(StringSE doctype) マークアップ固有の doctype を含む文字列を書き込みます。voidwritePreamble(StringSE preamble) マークアップ固有のプリアンブルを含む文字列を記述します。abstract voidwriteText(char[] text, int off, int len) レンダリングされるマークアップ言語に適切なエスケープを実行した後、文字配列からテキストを書き込みます。voidwriteText(ObjectSE text, UIComponent component, StringSE property) オブジェクトを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、オブジェクトを記述します。abstract voidオブジェクトを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、オブジェクトを記述します。abstract voidwriteURIAttribute(StringSE name, ObjectSE value, StringSE property) そのテキストを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエンコードまたはエスケープを実行した後、URI 属性名と対応する値を書き込みます。
コンストラクターの詳細
ResponseWriter
public ResponseWriter()
メソッドの詳細
getContentType
この
ResponseWriterのコンテンツ型("text/html" など)を返します。注: これには "charset =" サフィックスを含めないでください。- 戻り値:
- コンテンツ型
getCharacterEncoding
この
ResponseWriterの文字エンコーディング( "ISO-8859-1" など)を返します。文字エンコーディングのリストについては、IANA を参照してください。- 戻り値:
- 文字エンコーディング
flush
出力メソッドによってバッファリングされた出力を、基になるライターまたは OutputStream にフラッシュします。このメソッドは、基になる Writer または OutputStream をフラッシュしません。この
ResponseWriterによってバッファされた値をクリアするだけです。- 次で指定:
- インターフェース
FlushableSEのflush - 次で指定:
- クラス
WriterSEのflush - 例外:
IOExceptionSE
startDocument
レスポンスを開始するテキストを記述します。
- 例外:
IOExceptionSE- 入出力エラーが発生した場合
endDocument
レスポンスを終了するテキストを記述します。
startElement()の呼び出しによって作成された開いている要素がある場合、その要素は最初に閉じられます。- 例外:
IOExceptionSE- 入出力エラーが発生した場合
startElement
要素名までの要素の開始を記述します。このメソッドが呼び出されると、クライアントは
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
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
XML
CDATAブロックを開きます。XML はネストされたCDATAブロックを許可しないことに注意してください。ただし、このメソッドはその制約を強制しません。このメソッドのデフォルトの実装は、呼び出されてもアクションを実行しません。- 例外:
IOExceptionSE- 入出力エラーが発生した場合
endCDATA
XML
CDATAブロックを閉じます。このメソッドのデフォルトの実装は、呼び出されてもアクションを実行しません。- 例外:
IOExceptionSE- 入出力エラーが発生した場合
writeComment
指定されたテキストを文字列に変換した後(必要な場合)、およびレンダリングされるマークアップ言語に適したエスケープを実行した後、指定されたテキストを含むコメントを記述します。
startElement()の呼び出しによって作成された開いている要素がある場合、その要素が最初に閉じられます。- パラメーター:
comment- コメントのテキストコンテンツ- 例外:
IOExceptionSE- 入出力エラーが発生した場合NullPointerExceptionSE-commentがnullの場合
writePreamble
マークアップ固有のプリアンブルを含む文字列を記述します。エスケープは実行されません。デフォルトの実装では、
Writer.write(java.lang.String)SE を呼び出すだけです。実装は、これがプリアンブルを持つレスポンスの正しい場所であるかどうかをチェックしません。また、プリアンブルが複数回書き込まれるのを防ぎません。
- パラメーター:
preamble- プリアンブルのテキストコンテンツ- 例外:
IOExceptionSE- 入出力エラーが発生した場合- 導入:
- 2.2
writeDoctype
マークアップ固有の Doctype を含む文字列を記述します。エスケープは実行されません。デフォルトの実装では、
Writer.write(java.lang.String)SE を呼び出すだけです。実装は、これが doctype を持つレスポンスの正しい場所であるかどうかをチェックしません。また、doctype が複数回書き込まれるのを防ぎません。
- パラメーター:
doctype- Doctype のテキストコンテンツ- 例外:
IOExceptionSE- 入出力エラーが発生した場合- 導入:
- 2.2
writeText
オブジェクトを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、オブジェクトを記述します。
startElement()の呼び出しによって作成された開いている要素がある場合、その要素が最初に閉じられます。- パラメーター:
text- 書かれるテキストproperty- この生成されたテキストが対応する、包含要素に関連付けられたUIComponentのプロパティまたは属性(存在する場合)の名前- 例外:
IOExceptionSE- 入出力エラーが発生した場合NullPointerExceptionSE-textがnullの場合
writeText
オブジェクトを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、オブジェクトを記述します。このメソッドは
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
レンダリングされるマークアップ言語に適したエスケープを実行した後、文字配列からテキストを書き込みます。
startElement()の呼び出しによって作成された開いている要素がある場合、その要素が最初に閉じられます。- パラメーター:
text- 書かれるテキストoff- 開始オフセット (zero-relative)len- 書き込む文字数- 例外:
IndexOutOfBoundsExceptionSE- 計算された開始位置または終了位置が文字配列の境界外にある場合IOExceptionSE- 入出力エラーが発生した場合NullPointerExceptionSE-textがnullの場合
cloneWithWriter
指定された
Writerを出力先として使用して、このResponseWriterの新しいインスタンスを作成して返します。- パラメーター:
writer- 出力先であるWriter- 戻り値:
- 新しい
ResponseWriter