public abstract class ResponseWriter extends WriterSE
ResponseWriter は、文字ベースの出力の基礎となる出力メカニズムへのアダプターを記述する抽象クラスです。java.io.Writer
から継承された低レベルの write()
メソッドに加えて、このクラスは、HTML や XML などのマークアップ言語の要素と属性を生成するのに役立つユーティリティメソッドを提供します。
コンストラクターと説明 |
---|
ResponseWriter() |
修飾子と型 | メソッドと説明 |
---|---|
abstract ResponseWriter | cloneWithWriter(WriterSE writer) 指定された Writer を出力先として使用して、この ResponseWriter の新しいインスタンスを作成して返します。 |
void | endCDATA() XML |
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() XML |
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) レンダリングされるマークアップ言語に適切なエスケープを実行した後、文字配列からテキストを書き込みます。 |
abstract void | writeText(ObjectSE text, StringSE property) オブジェクトを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、オブジェクトを記述します。 |
void | writeText(ObjectSE text, UIComponent component, StringSE property) オブジェクトを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、オブジェクトを記述します。 |
abstract void | writeURIAttribute(StringSE name, ObjectSE value, StringSE property) そのテキストを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエンコードまたはエスケープを実行した後、URI 属性名と対応する値を書き込みます。 |
appendSE, appendSE, appendSE, closeSE, writeSE, writeSE, writeSE, writeSE, writeSE
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public abstract StringSE getContentType()
この ResponseWriter
のコンテンツ型("text/html" など)を返します。注: これには "charset =" サフィックスを含めないでください。
public abstract StringSE getCharacterEncoding()
この ResponseWriter
の文字エンコーディング( "ISO-8859-1" など)を返します。文字エンコーディングのリストについては、IANA を参照してください。
public abstract void flush() throws IOExceptionSE
出力メソッドによってバッファリングされた出力を、基になるライターまたは OutputStream にフラッシュします。このメソッドは、基になる Writer または OutputStream をフラッシュしません。この ResponseWriter
によってバッファされた値をクリアするだけです。
FlushableSE
の flushSE
WriterSE
の flushSE
IOExceptionSE
public abstract void startDocument() throws IOExceptionSE
レスポンスを開始するテキストを記述します。
IOExceptionSE
- 入出力エラーが発生した場合 public abstract void endDocument() throws IOExceptionSE
レスポンスを終了するテキストを記述します。startElement()
の呼び出しによって作成された開いている要素がある場合、その要素は最初に閉じられます。
IOExceptionSE
- 入出力エラーが発生した場合 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_BASIC RenderKit
仕様に従って、通過属性についてインスペクションされます。IOExceptionSE
- 入出力エラーが発生した場合 NullPointerExceptionSE
- name
が null
の場合 public abstract void endElement(StringSE name) throws IOExceptionSE
startElement()
の呼び出しによって作成された開いている要素を閉じた後、要素の終わりを書き込みます。要素は、開かれたときとは逆の順序で閉じる必要があります。そうしないとエラーになります。
引数コンポーネントのパススルー属性に、シンボリック定数 Renderer.PASSTHROUGH_RENDERER_LOCALNAME_KEY
の値で指定された名前の属性が含まれている場合は、このメソッドに最初のパラメーターとして渡される値ではなく、それを要素名として使用します。
name
- 終了する要素の名前 IOExceptionSE
- 入出力エラーが発生した場合 NullPointerExceptionSE
- name
が null
の場合 public abstract void writeAttribute(StringSE name, ObjectSE value, StringSE property) throws IOExceptionSE
そのテキストを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、属性名と対応する値を書き込みます。このメソッドは、startElement()
の呼び出し後、開かれた要素が閉じられる前にのみ呼び出すことができます。
name
- 追加する属性名 value
- 追加する属性値 property
- この生成された属性が対応する、包含要素に関連付けられた UIComponent
のプロパティまたは属性(存在する場合)の名前 IllegalStateExceptionSE
- 現在開いている要素がないときにこのメソッドが呼び出された場合 IOExceptionSE
- 入出力エラーが発生した場合 NullPointerExceptionSE
- name
が null
の場合 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
の場合 public void startCDATA() throws IOExceptionSE
XML CDATA
ブロックを開きます。XML はネストされた CDATA
ブロックを許可しないことに注意してください。ただし、このメソッドはその制約を強制しません。このメソッドのデフォルトの実装は、呼び出されてもアクションを実行しません。
IOExceptionSE
- 入出力エラーが発生した場合 public void endCDATA() throws IOExceptionSE
XML CDATA
ブロックを閉じます。このメソッドのデフォルトの実装は、呼び出されてもアクションを実行しません。
IOExceptionSE
- 入出力エラーが発生した場合 public abstract void writeComment(ObjectSE comment) throws IOExceptionSE
指定されたテキストを文字列に変換した後(必要な場合)、およびレンダリングされるマークアップ言語に適したエスケープを実行した後、指定されたテキストを含むコメントを記述します。startElement()
の呼び出しによって作成された開いている要素がある場合、その要素が最初に閉じられます。
comment
- コメントのテキストコンテンツ IOExceptionSE
- 入出力エラーが発生した場合 NullPointerExceptionSE
- comment
が null
の場合 public void writePreamble(StringSE preamble) throws IOExceptionSE
マークアップ固有のプリアンブルを含む文字列を記述します。エスケープは実行されません。デフォルトの実装では、Writer.write(java.lang.String)
SE を呼び出すだけです。
実装は、これがプリアンブルを持つレスポンスの正しい場所であるかどうかをチェックしません。また、プリアンブルが複数回書き込まれるのを防ぎません。
preamble
- プリアンブルのテキストコンテンツ IOExceptionSE
- 入出力エラーが発生した場合 public void writeDoctype(StringSE doctype) throws IOExceptionSE
マークアップ固有の Doctype を含む文字列を記述します。エスケープは実行されません。デフォルトの実装では、Writer.write(java.lang.String)
SE を呼び出すだけです。
実装は、これが doctype を持つレスポンスの正しい場所であるかどうかをチェックしません。また、doctype が複数回書き込まれるのを防ぎません。
doctype
- Doctype のテキストコンテンツ IOExceptionSE
- 入出力エラーが発生した場合 public abstract void writeText(ObjectSE text, StringSE property) throws IOExceptionSE
オブジェクトを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、オブジェクトを記述します。startElement()
の呼び出しによって作成された開いている要素がある場合、その要素が最初に閉じられます。
text
- 書かれるテキスト property
- この生成されたテキストが対応する、包含要素に関連付けられた UIComponent
のプロパティまたは属性(存在する場合)の名前 IOExceptionSE
- 入出力エラーが発生した場合 NullPointerExceptionSE
- text
が null
の場合 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
の場合 public abstract void writeText(char[] text, int off, int len) throws IOExceptionSE
レンダリングされるマークアップ言語に適したエスケープを実行した後、文字配列からテキストを書き込みます。startElement()
の呼び出しによって作成された開いている要素がある場合、その要素が最初に閉じられます。
text
- 書かれるテキスト off
- 開始オフセット (zero-relative)len
- 書き込む文字数 IndexOutOfBoundsExceptionSE
- 計算された開始位置または終了位置が文字配列の境界外にある場合 IOExceptionSE
- 入出力エラーが発生した場合 NullPointerExceptionSE
- text
が null
の場合 public abstract ResponseWriter cloneWithWriter(WriterSE writer)
指定された Writer
を出力先として使用して、この ResponseWriter
の新しいインスタンスを作成して返します。
writer
- 出力先である Writer
ResponseWriter
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.