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

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


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

プロパティ
open?:このストリームが現在開いているかどうかを示します。Stream-of.close が呼び出されると false を返します。
アクセサ public NewlineFilterTextOutputStream.open?:bool
origin-url:このストリームを開いた Url を返します。そのような Url が存在しない場合は null を返します。
アクセサ public NewlineFilterTextOutputStream.origin-url:#Url
write-buffer-data-size:バッファ内のフラッシュされていないデータ量を示します。
アクセサ public NewlineFilterTextOutputStream.write-buffer-data-size:int
write-buffer-size:最大バッファ サイズを示します。
アクセサ public NewlineFilterTextOutputStream.write-buffer-size:int
プロパティ 継承 TextOutputStream: character-encoding
プロパティ 継承 BufferedOutputStream-of: write-buffer-full?
プロパティ 継承 Stream-of: non-blocking-supported?

メソッド
close:ストリームを閉じます。呼び出されると、ストリームを使用不可能にして Stream-of.open?false を返すことを確かめます。
public {NewlineFilterTextOutputStream.close}:void
flush:self が収集した、バッファされた出力をフラッシュします。
public {NewlineFilterTextOutputStream.flush
non-blocking?:bool = false,
allow-short-write?:bool = false
}:void
write-one:アイテムを OutputStream-of に書き込みます。
public {NewlineFilterTextOutputStream.write-one c:char}:void
write-one-string:文字列を書き込みます。
public {NewlineFilterTextOutputStream.write-one-string
str:StringInterface,
start:int = 0,
length:int = str.size - start
}:int
メソッド 継承 OutputStream-of: async-write, write
メソッド 継承 Stream-of: verify-open
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



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

新しい NewlineFilterTextOutputStream を作成します。

stream: ラップされている元の TextOutputStream
close-stream-on-close?: このクラスの close メソッドが、基礎となるストリーム上で close を呼び出すかどうかを指定します。
newline-sequence: 標準的な '\n' を変換した後の改行シーケンスを指定します。NewlineSequence.all のように指定するのは不正で、IOException がスローされます。



プロパティ詳細
open? (アクセサ)
アクセサ public NewlineFilterTextOutputStream.open?:bool

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

注意事項

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

オーバーライド

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


origin-url (アクセサ)
アクセサ public NewlineFilterTextOutputStream.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 を返します。


write-buffer-data-size (アクセサ)
アクセサ public NewlineFilterTextOutputStream.write-buffer-data-size:int

バッファ内のフラッシュされていないデータ量を示します。



write-buffer-size (アクセサ)
アクセサ public NewlineFilterTextOutputStream.write-buffer-size:int

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






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

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

注意事項

これは OutputStream-of.flush を呼び出してからストリームを閉じます。

オーバーライド

この実装者は、try ブロック内の OutputStream-of.flush を呼び出す必要があります。その場合、try ブロックの finally 部分のストリームを閉じるコードを使用します。


flush (メソッド)
public {NewlineFilterTextOutputStream.flush
non-blocking?:bool = false,
allow-short-write?:bool = false
}:void

self が収集した、バッファされた出力をフラッシュします。

オーバーライド

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

例外のスロー

IOException — ディスクの容量不足などの理由でデータを書き込めない場合。


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

アイテムを OutputStream-of に書き込みます。

注意事項

ストリームが開いていない時にこのメソッドを呼び出すとエラーが発生します。サブクラスにこのメソッドを実装する必要があります。

オーバーライド

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


write-one-string (メソッド)
public {NewlineFilterTextOutputStream.write-one-string
str:StringInterface,
start:int = 0,
length:int = str.size - start
}:int

文字列を書き込みます。

str: 書き込まれる文字列。
start: 書き込みを開始する str のインデックス。
n: 書き込む文字の数。

戻り値

書き込まれた文字数を返します。

説明

str から selfn 文字を書き込みます。start で指定される位置から開始します。