クラス ResponseWriter
- 実装されたすべてのインターフェース:
CloseableSE
、FlushableSE
、AppendableSE
、AutoCloseableSE
- 既知の直属サブクラス
ResponseWriterWrapper
ResponseWriter は、文字ベースの出力の基礎となる出力メカニズムへのアダプターを記述する抽象クラスです。java.io.Writer
から継承された低レベルの write()
メソッドに加えて、このクラスは、HTML や XML などのマークアップ言語の要素と属性を生成するのに役立つユーティリティメソッドを提供します。
フィールドのサマリー
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明abstract ResponseWriter
cloneWithWriter
(WriterSE writer) 指定されたWriter
を出力先として使用して、このResponseWriter
の新しいインスタンスを作成して返します。void
endCDATA()
XMLCDATA
ブロックを閉じます。abstract void
レスポンスを終了するテキストを記述します。abstract void
endElement
(StringSE name) startElement()
の呼び出しによって作成された開いている要素を閉じた後、要素の終わりを書き込みます。abstract void
flush()
出力メソッドによってバッファリングされた出力を、基になるライターまたは OutputStream にフラッシュします。abstract StringSE
このResponseWriter
の文字エンコーディング( "ISO-8859-1" など)を返します。abstract StringSE
このResponseWriter
のコンテンツ型("text/html" など)を返します。void
XMLCDATA
ブロックを開きます。abstract void
レスポンスを開始するテキストを記述します。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
オブジェクトを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、オブジェクトを記述します。abstract void
writeURIAttribute
(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