public interface Externalizable extends Serializable
Note that classes which implement this interface must take into account that all superclass data must also be written to the stream as well. The class implementing this interface must figure out how to make that happen.
This interface can be used to provide object persistence. When an
object is to be stored externally, the writeExternal
method is
called to save state. When the object is restored, an instance is
created using the default no-argument constructor and the
readExternal
method is used to restore the state.
Modifier and Type | Method and Description |
---|---|
void |
readExternal(ObjectInput in)
This method restores an object's state by reading in the instance data
for the object from the passed in stream.
|
void |
writeExternal(ObjectOutput out)
This method is responsible for writing the instance data of an object
to the passed in stream.
|
void readExternal(ObjectInput in) throws ClassNotFoundException, IOException
InputStream
, but rather is a class that
implements
the ObjectInput
interface. That interface provides a
mechanism for
reading in Java data types from a stream.
Note that this method must be compatible with writeExternal
.
It must read back the exact same types that were written by that
method in the exact order they were written.
If this method needs to read back an object instance, then the class
for that object must be found and loaded. If that operation fails,
then this method throws a ClassNotFoundException
in
- An ObjectInput
instance for reading in the object
stateClassNotFoundException
- If the class of an object being
restored cannot be foundIOException
- If any other error occursvoid writeExternal(ObjectOutput out) throws IOException
OutputStream
, but rather is a class that implements the
ObjectOutput
interface. That interface provides a
number of methods
for writing Java data values to a stream.
Not that the implementation of this method must be coordinated with
the implementation of readExternal
.
out
- An ObjectOutput
instance for writing the
object stateIOException
- If an error occurs