Name
ObjectOutputStream.PutField
Synopsis
This class holds values of named
fields and allows them to be written to
an ObjectOutputStream
during the process of object
serialization. It gives the programmer
precise control over the serialization process and is typically used
when the set of fields defined by a class does not match the set of
fields (and the serialization stream format) defined by the original
implementation of the class. In other words,
ObjectOutputStream.PutField
allows the
implementation of a class to change without breaking serialization
compatibility.
In order to use the PutField
class, you typically
define a private static serialPersistentFields
field that refers to an array of ObjectStreamField
objects. This array defines the set of fields written to the
ObjectOutputStream
and therefore defines the
serialization format. If you do not declare a
serialPersistentFields
field, the set of fields is
all fields of the class, excluding static
and
transient
fields.
In
addition to the serialPersistentFields
field, your
class must also define a private writeObject( )
method that is responsible for the custom serialization of your
class. In this method, call the putFields( )
method of ObjectOutputStream
to obtain an
ObjectOutputStream.PutField
object. Once you have
this object, use its various put( )
methods to
specify the names and values of the field to be written out. The set
of named fields should match those specified by
serialPersistentFields
. You may specify the ...
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.