java.io
インタフェース Externalizable
- 既知のサブインタフェースの一覧:
- RemoteRef, ServerRef
- 既知の実装クラスの一覧:
- DataFlavor
- public abstract interface Externalizable
- extends Serializable
Externalizable インスタンスのクラスのアイデンティティが直列化ストリームに書き込まれるだけで、そのインスタンスの内容を保存および格納するのはクラスの責任です。
クラスは、Externalizable インタフェースの writeExternal メソッドと readExternal メソッドを実装することによって、オブジェクトとそのスーパータイプのストリームの形式と内容を十分に制御できるようになります。これらのメソッドは明示的にスーパータイプと連携して、その状態を保存しなければなりません。これらのメソッドは、writeObject メソッドと readObject メソッドのカスタマイズされた実装よりも優先されます。
Serialization オブジェクトは、Serializable インタフェースと Externalizable インタフェースを使います。オブジェクト持続性の機構も、そうしたインタフェースを使うことができます。格納される各オブジェクトは、Externalizable インタフェースのためにテストされます。オブジェクトが Externalizable をサポートする場合、writeExternal メソッドが呼び出されます。オブジェクトが Externalizable インタフェースをサポートせず、Serializable インタフェースを実装する場合、オブジェクトは ObjectOutputStream を使って保存されます。
Externalizable オブジェクトが再構築されると、引数なしの public コンストラクタを使ってインスタンスが生成され、readExternal メソッドが呼び出されます。直列化可能オブジェクトを復元するには、ObjectInputStream から読み込みます。
Externalizable のインスタンスは、直列化可能インタフェースに記載されている writeReplace メソッドと readResolve メソッドによって代替オブジェクトを指定できます。
- 導入されたバージョン:
- JDK1.1
- 関連項目:
ObjectOutputStream
,
ObjectInputStream
,
ObjectOutput
,
ObjectInput
,
Serializable
メソッドの概要 |
void |
readExternal(ObjectInput in)
オブジェクトが実装している readExternal メソッドは、DataInput クラスのメソッド (プリミティブ型の場合) および ObjectInput クラスの readObject メソッド (オブジェクト、文字列、配列の場合) を呼び出すことにより、オブジェクトの内容を復元します。 |
void |
writeExternal(ObjectOutput out)
オブジェクトが実装している writeExternal メソッドは、DataOutput クラスのメソッド (プリミティブ型の場合) および ObjectOutput クラスの writeObject メソッド (オブジェクト、文字列、配列の場合) を呼び出して、オブジェクトの内容を保存します。 |
writeExternal
public void writeExternal(ObjectOutput out)
throws IOException
- オブジェクトが実装している writeExternal メソッドは、DataOutput クラスのメソッド (プリミティブ型の場合) および ObjectOutput クラスの writeObject メソッド (オブジェクト、文字列、配列の場合) を呼び出して、オブジェクトの内容を保存します。
- 例外:
- IOException - 発生する可能性があるすべての入出力例外
readExternal
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
- オブジェクトが実装している readExternal メソッドは、DataInput クラスのメソッド (プリミティブ型の場合) および ObjectInput クラスの readObject メソッド (オブジェクト、文字列、配列の場合) を呼び出すことにより、オブジェクトの内容を復元します。readExternal メソッドは、writeExternal メソッドで書き込んだときと同じシーケンス、同じ型によって値を読み込まなければなりません。
- 例外:
- ClassNotFoundException - 復元しようとしてるオブジェクトに対応するクラスが見つからない場合
バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.