(クラス)
バイト ストリームにシリアル化される出力ストリームです。
コンストラクタ public | {SerializeOutputStream.default} |
アクセサ public inline SerializeOutputStream.known-values:#
FastArray
アクセサ public SerializeOutputStream.open?:
bool
アクセサ public SerializeOutputStream.origin-url:#
Url
public constant SerializeOutputStream.default-protocol:
any =SerializeProtocol.version-6-0
public | {SerializeOutputStream.clear-shared-object-table}:void |
public | {SerializeOutputStream.close}:void |
public | {SerializeOutputStream.do-not-share-next}:void |
flush: | self が収集した、バッファされた出力をフラッシュします。 |
public | {SerializeOutputStream.flush non-blocking?:bool = false,allow-short-write?:bool = false }:void |
public | {SerializeOutputStream.get-package-locator}:#String |
reopen: | ストリームが閉じられた後に再度開くことができます。 |
public | {SerializeOutputStream.reopen}:void |
public | {SerializeOutputStream.write-class-version version:int}:void |
public | {SerializeOutputStream.write-one val:any}:void |
public | {SerializeOutputStream.write-one-compact}:void |
public inline | {SerializeOutputStream.write-protocol}:void |
(コンストラクタ)
public | {SerializeOutputStream.default} |
シリアル化する出力ストリームを作成します。
raw-byte-stream: シリアル化されたオブジェクトの書き込み先バイト ストリーム。
close-stream-on-close?: true の場合 (既定)、バイト ストリーム raw-byte-stream はこのストリームと同時に閉じられます。
protocol:
使用されるシリアル化プロトコルを規定します。これは、Curl の 4.0 または 5.0 API で起動されているコードによって読み込まれるデータを書き出す時のみに規定される必要があります。
一般的に言えば、古いプロトコルは新しいプロトコルより遅く、圧縮率が低くなります。
注意事項
(アクセサ)
アクセサ public inline SerializeOutputStream.known-values:#
FastArray 既知の値のセットです。
説明
導入:
バージョン 6.0
(アクセサ)
アクセサ public SerializeOutputStream.open?:
bool このストリームが現在開いているかどうかを示します。Stream-of.close が呼び出されると false を返します。
注意事項
オーバーライド
サブクラスにはこのメソッドを実装する必要があります。
(アクセサ)
アクセサ public SerializeOutputStream.origin-url:#
Url このストリームを開いた Url を返します。そのような Url が存在しない場合は null を返します。
例
(アクセサ)
このストリームで使用されるシリアル化プロトコルです。
説明
導入:
バージョン 6.0
(アクセサ)
カスタマイズされたシリアル化の対象となるロー バイト ストリームを取得します。
(クラス定数)
public constant SerializeOutputStream.default-protocol:
any =SerializeProtocol.version-6-0
既定のシリアル化プロトコルです。
説明
出力ストリーム用の、既定のシリアル化プロトコルを規定します。これは、ストリームを作成したり再度開く場合にオーバーライドされます。
導入:
バージョン 6.0
(メソッド)
public | {SerializeOutputStream.clear-shared-object-table}:void |
共有オブジェクトが記録されたテーブルをクリアします。
説明
一時的に蓄えられたプロシージャとクラス インスタンスのテーブルをクリアします。このメソッドを呼び出すと、コードがシリアル化ストリームに挿入され、シリアル化の解除時にテーブルをクリアすることが示されます。
多くのオブジェクトがシリアル化され、それらのほとんどが再びシリアル化されない場合に、スペースを節約するためにこれを使用することができます。
(メソッド)
public | {SerializeOutputStream.close}:void |
ストリームを閉じます。呼び出されると、ストリームを使用不可能にして Stream-of.open? が false を返すことを確かめます。
注意事項
オーバーライド
(メソッド)
public | {SerializeOutputStream.do-not-share-next}:void |
書き込まれる次のオブジェクトを共有しません。
説明
これによって、次の値が一時的に蓄えられているテーブルで共有されるのを防ぐことができます。
これを使用する 2 つの理由があります。:
シリアル化されるオブジェクトが、異なるコンテンツで複数回シリアル化したい配列のようなコンテナの場合です。このメソッドを使用せずに、基本のコンテンツのみがシリアル化されます。
例:
def out = {SerializeOutputStream byte-stream}
def array = {Array 1,2,3}
{out.do-not-share-next}
{out.write-one array}
{array.clear}
{array.append 4}
{array.append 5}
{array.append 6}
{out.do-not-share-next}
{out.write-one array}
たくさんの異なるオブジェクトがシリアル化される必要がある場合です。この場合、オブジェクトを共有するオーバーヘッドがパフォーマンスを悪くします。
例:
def out = {SerializeOutputStream byte-stream}
{for obj in many-unique-objs do
{out.do-not-share-next}
{out.write-one obj}
}
protocol が
version-4-0 に設定される場合、効果はありません。
導入:
バージョン 6.0
(メソッド)
public | {SerializeOutputStream.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}}}
}
このメソッドの実装の上部に記述します。
(メソッド)
public | {SerializeOutputStream.get-package-locator}:#String |
(メソッド)
public | {SerializeOutputStream.reopen}:void |
ストリームが閉じられた後に再度開くことができます。
説明
ストリームが閉じられた後に再利用することができます。
引数は、
default コンストラクタで使用されるものと同じで、設定された引数で新しいストリームを作成することと同じ意味になります。
protocol と known-values は既存の値を既定値とします。
(メソッド)
public | {SerializeOutputStream.write-class-version version:int}:void |
クラス バージョンを書き出します。
version: 書き込まれるバージョン。
説明
これは、バージョン ナンバーを書き出す
object-serialize メソッドで使用されます。そのバージョンナンバーは、
object-deserialize コンストラクタでのマッチングによって認識され、クラスにとって古いシリアル化フォーマットをサポートするために使用されます。
(メソッド)
public | {SerializeOutputStream.write-one val:any}:void |
(メソッド)
public | {SerializeOutputStream.write-one-compact}:void |
コンパクトな表現を使用して値を書き出します。
導入:
バージョン 6.0
(メソッド)
public inline | {SerializeOutputStream.write-protocol}:void |
シリアル化ストリームのヘッダーにプロトコル ナンバーを書き込みます。
説明
導入:
バージョン 6.0