パッケージ jakarta.faces.context

クラス ResponseWriter

  • 実装されたすべてのインターフェース:
    CloseableSEFlushableSEAppendableSEAutoCloseableSE
    既知の直属サブクラス
    ResponseWriterWrapper

    public abstract class ResponseWriter
    extends WriterSE

    ResponseWriter は、文字ベースの出力の基礎となる出力メカニズムへのアダプターを記述する抽象クラスです。java.io.Writer から継承された低レベルの write() メソッドに加えて、このクラスは、HTML や XML などのマークアップ言語の要素と属性を生成するのに役立つユーティリティメソッドを提供します。

    • フィールドサマリー

      • クラス java.io.WriterSE から継承されたフィールド

        lockSE
    • コンストラクターのサマリー

      コンストラクター  
      コンストラクター 説明
      ResponseWriter()
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   抽象メソッド   具象メソッド  
      修飾子と型 メソッド 説明
      abstract ResponseWritercloneWithWriter​(WriterSE writer)
      指定された Writer を出力先として使用して、この ResponseWriter の新しいインスタンスを作成して返します。
      voidendCDATA()
      XML CDATA ブロックを閉じます。
      abstract voidendDocument()
      レスポンスを終了するテキストを記述します。
      abstract voidendElement​(StringSE name)
      startElement() の呼び出しによって作成された開いている要素を閉じた後、要素の終わりを書き込みます。
      abstract voidflush()
      出力メソッドによってバッファリングされた出力を、基になるライターまたは OutputStream にフラッシュします。
      abstract StringSEgetCharacterEncoding()
      この ResponseWriter の文字エンコーディング( "ISO-8859-1" など)を返します。
      abstract StringSEgetContentType()
      この ResponseWriter のコンテンツ型("text/html" など)を返します。
      voidstartCDATA()
      XML CDATA ブロックを開きます。
      abstract voidstartDocument()
      レスポンスを開始するテキストを記述します。
      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 voidwriteText​(ObjectSE text, StringSE property)
      オブジェクトを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエスケープを実行した後、オブジェクトを記述します。
      abstract voidwriteURIAttribute​(StringSE name, ObjectSE value, StringSE property)
      そのテキストを文字列に変換した後(必要な場合)、レンダリングされるマークアップ言語に適したエンコードまたはエスケープを実行した後、URI 属性名と対応する値を書き込みます。
    • コンストラクターの詳細

      • ResponseWriter

        public ResponseWriter()
    • メソッドの詳細

      • 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 によってバッファされた値をクリアするだけです。

        次で指定:
        インターフェース FlushableSEflush 
        次で指定:
        クラス WriterSEflush 
        例外:
        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_BASIC  RenderKit 仕様に従って、通過属性についてインスペクションされます
        例外:
        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