Externalizable interface in Java

java.io.Externalizable

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 super types. These methods must explicitly coordinate with the supertype to save its state. These methods supersede customized implementations of writeObject and readObject methods.

Super Interfaces:

Serializable

Sub Interfaces:

RemoteRef, ServerRef

Implementing Classes:

ActivationDataFlavor, DataFlavor, MimeType, MLet, PrivateMLet

Declaration

public interface Externalizable extends java.io.Serializable {
        void writeExternal(ObjectOutput out) throws IOException;

        void readExternal(ObjectInput in) throws IOException, ClassNotFoundException;
 }


Methods of Externalizable

1. writeExternal(ObjectOutput out)

void java.io.Externalizable.writeExternal(ObjectOutput out) throws IOException

The object implements the writeExternal method to save its content calling the methods of DataOutput for its primitive values or calling the writeObject method of ObjectOutput for objects, strings, and arrays.

Parameters:

out: the stream to write the object to.

Throws:

IOException - Includes any I/O exceptions that may occur.

2. readExternal(ObjectInput in)

void java.io.Externalizable.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.

Parameters:

in: the stream to read data from in order to restore the object.

Throws:

1. IOException - if I/O errors occur.

2. ClassNotFoundException - If the class for an object being restored cannot be found.


Flushable interface in Java

FilenameFilter interface in Java

FileFilter interface in Java

DataInput interface in Java

Closeable interface in java

Externalizable interface in Java

Serializable interface in Java

ObjectInputValidation interface in Java

ObjectInputFilter interface in Java

DataOutput interface in Java

ObjectInput interface in Java

ObjectStreamConstants interface in Java

ObjectOutput interface in Java

No comments:

Post a Comment