|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
public interface Externalizable
Externalizable インスタンスのクラスのアイデンティティーが直列化ストリームに書き込まれるだけで、そのインスタンスの内容を保存および格納するのはクラスの責任です。
クラスは、Externalizable インタフェースの writeExternal メソッドと readExternal メソッドを実装することによって、オブジェクトとそのスーパータイプのストリームの形式と内容を十分に制御できるようになります。これらのメソッドは明示的にスーパータイプと連携して、その状態を保存しなければいけません。これらのメソッドは、writeObject メソッドと readObject メソッドのカスタマイズされた実装よりも優先されます。
Serialization オブジェクトは、Serializable インタフェースと Externalizable インタフェースを使います。オブジェクト持続性の機構も、そうしたインタフェースを使うことができます。格納される各オブジェクトは、Externalizable インタフェースのためにテストされます。オブジェクトが Externalizable をサポートする場合、writeExternal メソッドが呼び出されます。オブジェクトが Externalizable インタフェースをサポートせず、Serializable インタフェースを実装する場合、オブジェクトは ObjectOutputStream を使って保存されます。
Externalizable オブジェクトが再構築されると、引数なしの public コンストラクタを使ってインスタンスが生成され、readExternal メソッドが呼び出されます。直列化可能オブジェクトを復元するには、ObjectInputStream から読み込みます。
Externalizable のインスタンスは、直列化可能インタフェースに記載されている writeReplace メソッドと readResolve メソッドによって代替オブジェクトを指定できます。
ObjectOutputStream,
ObjectInputStream,
ObjectOutput,
ObjectInput,
Serializable| メソッドの概要 | |
|---|---|
void |
readExternal(ObjectInput in)
オブジェクトが実装している readExternal メソッドは、DataInput インタフェースのメソッド (プリミティブ型の場合) および ObjectInput インタフェースの readObject メソッド (オブジェクト、文字列、配列の場合) を呼び出すことにより、オブジェクトの内容を復元します。 |
void |
writeExternal(ObjectOutput out)
オブジェクトが実装している writeExternal メソッドは、DataOutput クラスのメソッド (プリミティブ型の場合) および ObjectOutput クラスの writeObject メソッド (オブジェクト、文字列、配列の場合) を呼び出して、オブジェクトの内容を保存します。 |
| メソッドの詳細 |
|---|
void writeExternal(ObjectOutput out)
throws IOException
out - オブジェクトを書き込むストリーム
IOException - 発生する可能性があるすべての入出力例外
void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
in - オブジェクトを復元するためのデータ読み込み元のストリーム
IOException - 入出力エラーが発生した場合
ClassNotFoundException - 復元されているオブジェクトのクラスが見つからなかった場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。