java.io
Interface Externalizable
- All Known Subinterfaces:
- RemoteRef, ServerRef
- All Known Implementing Classes:
- DataFlavor
- public abstract interface Externalizable
- extends Serializable
Only the identity of the class of an Externalizable instance is
written in the serialization stream and it is the responsibility
of the class to save and restore the contents of its instances.
The writeExternal and readExternal methods of the Externalizable
interface are implemented by a class to give the class complete
control over the format and contents of the stream for an object
and its supertypes. These methods must explicitly
coordinate with the supertype to save its state. These methods supercede
customized implementations of writeObject and readObject methods.
Object Serialization uses the Serializable and Externalizable
interfaces. Object persistence mechanisms can use them as well. Each
object to be stored is tested for the Externalizable interface. If
the object supports Externalizable, the writeExternal method is called. If the
object does not support Externalizable and does implement
Serializable, the object is saved using
ObjectOutputStream.
When an Externalizable object is
reconstructed, an instance is created using the public no-arg
constructor, then the readExternal method called. Serializable
objects are restored by reading them from an ObjectInputStream.
An Externalizable instance can designate a substitution object via
the writeReplace and readResolve methods documented in the Serializable
interface.
- Since:
- JDK1.1
- See Also:
ObjectOutputStream
,
ObjectInputStream
,
ObjectOutput
,
ObjectInput
,
Serializable
Method Summary |
void |
readExternal(ObjectInput in)
The object implements the readExternal method to restore its
contents by calling the methods of DataInput for primitive
types and readObject for objects, strings and arrays. |
void |
writeExternal(ObjectOutput out)
The object implements the writeExternal method to save its contents
by calling the methods of DataOutput for its primitive values or
calling the writeObject method of ObjectOutput for objects, strings,
and arrays. |
writeExternal
public void writeExternal(ObjectOutput out)
throws IOException
- The object implements the writeExternal method to save its contents
by calling the methods of DataOutput for its primitive values or
calling the writeObject method of ObjectOutput for objects, strings,
and arrays.
- Throws:
- IOException - Includes any I/O exceptions that may occur
readExternal
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
- The object implements the readExternal method to restore its
contents by calling the methods of DataInput for primitive
types and readObject for objects, strings and arrays. The
readExternal method must read the values in the same sequence
and with the same types as were written by writeExternal.
- Throws:
- ClassNotFoundException - If the class for an object being
restored cannot be found.
Submit a bug or feature Version 1.2 of Java Platform API Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.