NewlineFilterTextInputStream (クラス)
public NewlineFilterTextInputStream {inherits TextInputStream}
パッケージ: CURL.IO.STREAM
直接継承しているサブクラス: SeekableNewlineFilterTextInputStream

コンストラクタ NewlineFilterTextInputStream.default で指定されている改行シーケンスを標準的な Curl の改行文字、'\n' に変換するのに使うラッパー ストリーム。


コンストラクタ
default:新しい NewlineFilterTextInputStream を作成します。
コンストラクタ public {NewlineFilterTextInputStream.default
stream:TextInputStream,
close-stream-on-close?:bool = true,
newline-sequence:NewlineSequence = NewlineSequence.all
}

プロパティ
apparent-newline-sequence:このストリームによって使用される新しい行のシーケンスを報告します。
アクセサ public NewlineFilterTextInputStream.apparent-newline-sequence:NewlineSequence
character-encoding:読み込まれているバイトの現在の文字エンコーディングです。バイトを文字コードに変換する方法を定義します。
アクセサ public NewlineFilterTextInputStream.character-encoding:CharEncoding
end-of-stream?:次の self.read-one 呼び出しが true eof? の戻り値を返す場合は true を返します。
アクセサ public NewlineFilterTextInputStream.end-of-stream?:bool
non-blocking-supported?:特定のインスタンスまたはサブクラスが non-blocking? フラグをサポートし、InputStream-of.read または OutputStream-of.write のようなメソッドで使用できるかどうかを示します。
アクセサ public NewlineFilterTextInputStream.non-blocking-supported?:bool
open?:このストリームが現在開いているかどうかを示します。Stream-of.close が呼び出されると false を返します。
アクセサ public NewlineFilterTextInputStream.open?:bool
origin-url:このストリームを開いた Url を返します。そのような Url が存在しない場合は null を返します。
アクセサ public NewlineFilterTextInputStream.origin-url:#Url
read-buffer-data-size:バッファにすでに存在するデータ量を示します。
アクセサ public NewlineFilterTextInputStream.read-buffer-data-size:int
read-buffer-empty?:読み込みをバッファに格納することができるかどうかを示します。
アクセサ public NewlineFilterTextInputStream.read-buffer-empty?:bool
read-buffer-size:バッファのサイズを示します。
アクセサ public NewlineFilterTextInputStream.read-buffer-size:int
when-last-modified:元のデータの最終変更時刻 (特定できる場合)。
アクセサ public NewlineFilterTextInputStream.when-last-modified:#DateTime

メソッド
close:ストリームを閉じます。呼び出されると、ストリームを使用不可能にして Stream-of.open?false を返すことを確かめます。
public {NewlineFilterTextInputStream.close}:void
read-one:self から最初の要素を取得します。
public {NewlineFilterTextInputStream.read-one}:(val:char, eof?:bool)
unread-one:eself に戻して、次の InputStream-of.read-onee が返されるようにします。
public {NewlineFilterTextInputStream.unread-one c:char}:void
メソッド 継承 TextInputStream: async-read-string, read-line, read-lines, read-one-line, read-one-string
メソッド 継承 BufferedInputStream-of: peek-one, peek-one-any, unread-one-any
メソッド 継承 InputStream-of: async-read, copy-out, read, read-anys, read-one-any, to-Iterator
メソッド 継承 Stream-of: verify-open
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {NewlineFilterTextInputStream.default
stream:TextInputStream,
close-stream-on-close?:bool = true,
newline-sequence:NewlineSequence = NewlineSequence.all
}

新しい NewlineFilterTextInputStream を作成します。

stream: ラップされている元の TextInputStream
close-stream-on-close?: このクラスの close メソッドが、基礎となるストリーム上で close を呼び出すかどうかを指定します。
newline-sequence: 認識され、'\n' に変換できる改行シーケンスを指定します。



プロパティ詳細
apparent-newline-sequence (アクセサ)
アクセサ public NewlineFilterTextInputStream.apparent-newline-sequence:NewlineSequence

このストリームによって使用される新しい行のシーケンスを報告します。

説明

ストリームによって使用され、このポイントまで監視された新しい行のシーケンスを報告します。 NewlineFilterTextInputStreamNewlineSequence.all ではなく newline-sequence の値を使用して初期化された場合、そのシーケンスは常に返されます。そうでなければ、ストリームを読み込んでいる間に監視されたシーケンスを返します。 1 つ以上のシーケンスが監視された場合は、監視されればホスト固有の規定のシーケンスを返します。(例:Windows で実行されている場合は NewlineSequence.CRLF)そうでなければ、最下位のインデックスのシーケンス(NewlineSequence 列挙内で一番早くリストされているもの)を返します。 このクラスを使用して事前に読み込まれたり、フィルタをかけられたファイルに書き込む時に、どの NewlineSequence を使用するのが適切か決定するのに使用されます。
導入: バージョン 6.0


character-encoding (アクセサ)
アクセサ public NewlineFilterTextInputStream.character-encoding:CharEncoding

読み込まれているバイトの現在の文字エンコーディングです。バイトを文字コードに変換する方法を定義します。

注意事項

元になるバイト列が実際に存在しない一部の TextInputStream では無意味になります。


end-of-stream? (アクセサ)
アクセサ public NewlineFilterTextInputStream.end-of-stream?:bool

次の self.read-one 呼び出しが true eof? の戻り値を返す場合は true を返します。

注意事項

このメソッドはブロックします -- self.peek-one を使用してストリームの次のオブジェクトにアクセスします。


non-blocking-supported? (アクセサ)
アクセサ public NewlineFilterTextInputStream.non-blocking-supported?:bool

特定のインスタンスまたはサブクラスが non-blocking? フラグをサポートし、InputStream-of.read または OutputStream-of.write のようなメソッドで使用できるかどうかを示します。

注意事項

また、これにより、InputStream-of または OutputStream-of 内のメソッドの既定実装は、呼び出すメソッド InputStream-of.read-one または OutputStream-of.write-one がどんな場合でもブロックしないものと仮定します。それらのメソッドが特定のサブクラスでブロックできる場合は、Stream-of.non-blocking-supported?false のままでいるか、InputStream-of.read または OutputStream-of.write の既定実装をオーバーライドしてブロック不可サポートを提供するようにする必要があります。


open? (アクセサ)
アクセサ public NewlineFilterTextInputStream.open?:bool

このストリームが現在開いているかどうかを示します。Stream-of.close が呼び出されると false を返します。

注意事項

InputStream-of および OutputStream-of の既定の実装で使用します。ストリームが開いていない場合は多くの操作でエラーが発生します。

オーバーライド

サブクラスにはこのメソッドを実装する必要があります。


origin-url (アクセサ)
アクセサ public NewlineFilterTextInputStream.origin-url:#Url

このストリームを開いた Url を返します。そのような Url が存在しない場合は null を返します。

{read-open {url "file://c:/foo.txt"}}.origin-url Url file://c:/foo.txt (そのようなファイルが存在すると仮定して) を返します。

一方、{{TextInputStream-from String} "foo"}.origin-urlnull を返します。


read-buffer-data-size (アクセサ)
アクセサ public NewlineFilterTextInputStream.read-buffer-data-size:int

バッファにすでに存在するデータ量を示します。



read-buffer-empty? (アクセサ)
アクセサ public NewlineFilterTextInputStream.read-buffer-empty?:bool

読み込みをバッファに格納することができるかどうかを示します。



read-buffer-size (アクセサ)
アクセサ public NewlineFilterTextInputStream.read-buffer-size:int

バッファのサイズを示します。



when-last-modified (アクセサ)
アクセサ public NewlineFilterTextInputStream.when-last-modified:#DateTime

元のデータの最終変更時刻 (特定できる場合)。

説明

基となるデータが最後に修正された時間がわかる場合は、その時間をを返します。そうでなければ、null を返します。 http: URL を基にして作成されたストリームの場合は、存在すれば Last-Modified HTTP ヘッダーをパースした時間となります。 DefaultBufferedInputStream-of のような他のストリームをラップしたストリームの場合は、一般的に基になるストリームの値となります。 それ以外のストリームは null を返します。





メソッド詳細
close (メソッド)
public {NewlineFilterTextInputStream.close}:void

ストリームを閉じます。呼び出されると、ストリームを使用不可能にして Stream-of.open?false を返すことを確かめます。



read-one (メソッド)
public {NewlineFilterTextInputStream.read-one}:(val:char, eof?:bool)

self から最初の要素を取得します。

戻り値

最初の戻り値は self の入力ストリームから取得したアイテムになります。ストリームが EOF の場合、2 番目の戻り値は true になります。その場合、最初の戻り値は null または 0 になります。

説明

self がまだ開いていて、使用できるデータがない場合にはこのメソッドはブロックします。

注意事項

現在 self が開いてなく読み込み可能でない場合はエラーになります。

オーバーライド

非抽象サブクラスにより実装される必要があります。実装では次のようなコードを含める必要があリます。
{if not self.open? then
    {throw {new IOException, {format "%s not open", self}}}
}
このメソッドの実装の上部に記述します。


unread-one (メソッド)
public {NewlineFilterTextInputStream.unread-one c:char}:void

eself に戻して、次の InputStream-of.read-onee が返されるようにします。

e: self に押し戻される要素。

説明

end-of-stream? 状態の self に対してこの操作を実行すると、end-of-stream? 状態でなくなります。

注意事項

現在 self が開いてなく読み込み可能でない場合はエラーになります。